一种游戏中的防穿模方法、装置、电子设备及存储介质与流程

文档序号:24131596发布日期:2021-03-02 18:15阅读:332来源:国知局
一种游戏中的防穿模方法、装置、电子设备及存储介质与流程

[0001]
本发明实施例涉及计算机技术,尤其涉及一种游戏中的防穿模方法、装置、电子设备及存储介质。


背景技术:

[0002]
在三维游戏软件运行过程中,存在游戏角色头部转向某方向的需求。例如,玩家角色需看向目标方向,以提示玩家该方向存在重要信息;又如,非玩家角色(non-player character,npc)在对话表现中,需要看向其他正在说话的npc,而其他的npc可以站在其身边的任意方向;还如,动物角色需要注视玩家角色,不论玩家角色跑到其身边哪个地方,动物角色都会目光追随玩家角色等等。
[0003]
三维游戏软件中的游戏角色模型可以通过骨骼驱动,产生合理的运动。因此,可以利用程序对游戏角色的头部骨骼做动态控制,以达到游戏角色进行任意角度头部转动的效果。
[0004]
然而,利用程序只能控制部分数量的头部骨骼,例如只能控制脖子、头部、头发和挂件(例如耳饰、发饰等)与头部连接节点处的骨骼,不能对整个头发的骨骼、整个挂件的骨骼进行控制。这就容易导致头部转动时,头发或挂件与游戏角色模型的身体或衣服发生穿插的现象,即出现穿模的现象。
[0005]
现有技术中,通常采用的防穿模方法为:在游戏运行过程中,实时动态解算出头发或挂件等骨骼的旋转、缩放和位移等数据,以而避免其与身体或衣服等发生穿插。
[0006]
现有技术的不足之处至少包括:对游戏设备的运算性能要求较高,游戏设备的处理器(central processing unit,cpu)需要承担很大的运算压力;实时解算的防穿模效果不可控,例如可能还是会发生穿模,或者头发或挂件姿态不自然的情况。


技术实现要素:

[0007]
有鉴于此,本发明实施例提供了一种游戏中的防穿模方法、装置、电子设备及存储介质,不仅能够节省运算性能消耗,还能够保证较佳的防穿模效果。
[0008]
第一方面,本发明实施例提供了一种游戏中的防穿模方法,包括:
[0009]
将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过所述数据生成模型,生成所述游戏角色的附件在预设姿态下的离线数据;
[0010]
在所述游戏运行过程中,确定目标角色的实时头转参数,其中所述目标角色属于所述游戏角色;
[0011]
从所述游戏角色的附件在预设姿态下的离线数据中,获取所述目标角色的附件在预设姿态下的目标离线数据;
[0012]
基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整。
[0013]
可选的,所述数据生成模型的训练步骤,包括:
[0014]
获取样本角色的头部骨骼数据,以及所述样本角色的附件在预设姿态下的离线数据;
[0015]
将所述样本角色的头部骨骼数据输入数据生成模型,输出实际离线数据;
[0016]
以所述实际离线数据,与所述样本角色的附件在预设姿态下的离线数据之间的偏差小于预设值为目标,对所述数据生成模型进行训练。
[0017]
可选的,所述确定目标角色的实时头转参数,包括:
[0018]
响应于玩家操作,确定目标角色的实时头转参数;和/或,
[0019]
响应于程序判断结果,确定目标角色的实时头转参数。
[0020]
可选的,若所述目标离线数据为骨骼文件,则所述基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整,包括:
[0021]
将所述实时头转参数转化为预设融合树的控制参数;其中,所述预设融合树配置有所述骨骼文件;
[0022]
根据所述控制参数确定融合信息,并基于所述融合信息,将所述骨骼文件进行融合;
[0023]
根据融合的骨骼文件,对所述目标角色的附件进行骨骼控制,以调整所述目标角色的附件的模型。
[0024]
可选的,若所述目标离线数据为骨骼数据表,则所述基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整,包括:
[0025]
将所述实时头转参数转化为第一旋转参数,其中所述第一旋转参数符合所述骨骼数据表中骨骼数据的规定格式;
[0026]
从预设骨骼数据表中,查找与所述第一旋转参数相匹配的附件字段的骨骼数据;
[0027]
根据查找的骨骼数据,对所述目标角色的附件进行骨骼控制,以调整所述目标角色的附件的模型。
[0028]
可选的,若所述目标离线数据为预设模型,则所述基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整,包括:
[0029]
根据所述实时头转参数,驱动所述预设模型进行融合,以呈现融合后的模型;其中,所述预设模型为所述目标角色的附件在预设姿态时的变形模型。
[0030]
可选的,若所述目标离线数据为预设格式的顶点位置信息,则所述基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整,包括:
[0031]
通过图形处理器,基于所述实时头转参数以及所述预设格式的顶点位置信息,确定目标顶点信息;
[0032]
根据所述目标顶点信息,将所述目标角色的附件的模型的图像进行渲染显示。
[0033]
可选的,所述基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整,还包括:
[0034]
基于所述实时头转参数、所述目标离线数据,以及所述目标角色的附件对应的预设动画,对所述目标角色的附件进行模型调整。
[0035]
第二方面,本发明实施例还提供了一种游戏中的防穿模装置,包括:
[0036]
数据生成模块,用于将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过所述数据生成模型,生成所述游戏角色的附件在预设姿态下的离线数据;
[0037]
参数确定模块,用于在所述游戏运行过程中,确定目标角色的实时头转参数,其中所述目标角色属于所述游戏角色;
[0038]
数据获取模块,用于从所述游戏角色的附件在预设姿态下的离线数据中,获取所述目标角色的附件在预设姿态下的目标离线数据;
[0039]
模型调整模块,用于基于所述实时头转参数和所述目标离线数据,对所述目标角色的附件进行模型调整。
[0040]
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请任意实施例提供的游戏中的防穿模方法。
[0041]
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请任意实施例提供的游戏中的防穿模方法。
[0042]
本发明实施例提供的一种游戏中的防穿模方法、装置、电子设备及存储介质,该游戏中的防穿模方法包括:将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据;在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色;从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据;基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。
[0043]
与传统的实时解算附件的骨骼数据相比,通过利用数据生成模型生成各游戏角色的附件在预设姿态下的离线数据,能够实现基于目标角色的附件在预设姿态下的目标离线数据,对目标角色的附件进行纯离线模式的模型调整,从而可在很大程度上节省运算性能消耗。此外,通过利用数据生成模型生成离线数据,不仅可以节省制作离线数据的人力成本,还能够保证较佳的防穿模效果。
附图说明
[0044]
图1是本发明实施例一提供的一种游戏中的防穿模方法的流程示意图;
[0045]
图2是本发明实施例二提供的一种游戏中的防穿模方法的流程示意图;
[0046]
图3是本发明实施例三提供的一种游戏中的防穿模方法的流程示意图;
[0047]
图4是本发明实施例四提供的一种游戏中的防穿模方法的流程示意图;
[0048]
图5是本发明实施例五提供的一种游戏中的防穿模方法的流程示意图;
[0049]
图6是本发明实施例六提供的一种游戏中的防穿模装置的结构示意图;
[0050]
图7是本发明实施例七提供的一种电子设备的结构示意图。
具体实施方式
[0051]
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成
多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
[0052]
实施例一
[0053]
图1为本发明实施例一提供的一种游戏中的防穿模方法的流程示意图,本实施例可适用于游戏中的防穿模的情况,例如适用于在游戏角色转头时,防止头发和挂件等附件,与游戏角色模型的身体或衣服发生穿模的情况。该方法可以由本发明实施例提供的游戏中的防穿模装置(可简称为防穿模装置)来执行,该装置采用软件和/或硬件的方式实现,优选是配置于游戏软件中,且可随游戏软件安装于电子设备中,例如手机、笔记本或计算机中。
[0054]
参见图1,本实施例提供的游戏中的防穿模方法,包括如下步骤:
[0055]
s110、将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据。
[0056]
在游戏软件的程序(可简称为程序)运行过程中,基于程序对游戏角色的头部骨骼做动态控制的同时,还可以利用本实施例提供的防穿模方法,对游戏角色头部的附件进行模型调整,以避免附件模型与游戏角色的其他部分的模型(例如身体、服饰等)发生穿模的情况。
[0057]
其中,游戏角色可以认为是,游戏运行过程中具备头转需求的全部角色。
[0058]
其中,头部骨骼数据可以认为是,头部骨骼在预设姿态下的位置、旋转、缩放等数据。
[0059]
其中,数据生成模型可以包括但不限于是专家系统或人工智能网络模型。当数据生成模型为人工智能网络模型时,人工智能网络模型可以是机器学习模型或深度学习模型。并且,深度学习模型为卷积神经网络模型时,还可以具体包括:输入层,隐藏层(例如包括卷积层,池化层、全连接层等)和输出层等。该数据生成模型可通过预先训练,学习到头部骨骼数据和离线数据之间的规律。并且,数据生成模型可在训练完毕时,用于基于游戏角色的头部骨骼数据,自动生成附件在预设姿态下的离线数据。
[0060]
其中,游戏角色的附件包括但不限于,头发(例如长发)、发饰(例如飘带)、耳饰(例如垂肩耳饰)和衣领等。
[0061]
其中,预设姿态(可称为pose)包括但不限于,游戏角色的正视pose,向上、下、左、右方向的极限角度的转头pose,向左上、右上、左下、右下的极限角度的转头pose,和从正视pose到上述极限角度的转头pose中间的过渡pose等。并且,预设pose越多,可以呈现的转头效果越好,相应的内存占用越高。
[0062]
其中,离线数据可以认为是,非动态实时解算的、可存储在游戏设备内存上的、用于调整附件的模型的数据。并且,当附件的模型由骨骼驱动时,离线数据的类型可为骨骼相关的数据,例如可以包括但不限于骨骼文件(例如fbx格式的文件)、骨骼数据表等;当附件的模型并非由骨骼驱动时,离线数据的类型可以为模型相关的数据,例如可以包括但不限于预设模型、模型的顶点位置信息等。
[0063]
离线数据的生成步骤,例如可以包括:首先,使用数字内容创作软件(digital content creation,dcc)或者游戏引擎,预先制作游戏角色在各预设姿态下头部骨骼数据;然后,将制作完成的游戏角色的头部骨骼数据,输入训练完毕的数据生成模型;最后,通过数据生成模型,自动输出游戏角色的附件在预设姿态下的至少一种类型的离线数据。
[0064]
通过利用训练完毕的数据生成模型生成离线数据,不仅可以节省制作离线数据的
人力成本,还能够保证较佳的防穿模效果。
[0065]
s120、在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色。
[0066]
在游戏程序运行过程中,目标角色可以是游戏角色中的玩家角色,也可以是游戏角色中的npc。其中,目标角色的确定方式,可以是将玩家正在操作的玩家角色确定为目标角色;和/或,可以是通过程序判断需要进行转头表现的角色。
[0067]
示例性的,当程序判断玩家角色与关键道具的距离小于一定距离时,可以将玩家角色确定为目标角色,以控制玩家角色转头看向关键道具;又如,当程序判断正在播放npc对话动画时,可以将当前未发言的npc确定为目标角色,以控制未发言的npc转头看向正在发言的npc;还如,当玩家角色在动物角色附近时,可以将动物角色确定为目标角色,以控制动物角色目光追随玩家角色,等。
[0068]
在确定目标角色之后,可以进一步确定目标角色的实时头转参数。其中,头转参数可以认为是,在游戏的世界坐标系中,目标角色的头部由正视方向转向目标方向之间的夹角。其中,正视方向可以认为是目光正视前方的方向;其中,目标方向可以认为是目标角色需要看向的方向。其中,可以为该夹角设置方向标识,以表征头部的转动方向,且转动方向例如可以包括水平方向和竖直方向等;还可以为该夹角设置范围限制,且范围限制例如是水平方向夹角的数值需小于等于90
°
,竖直方向夹角的数值需小于等于90
°
,以使目标角色的转头动作合理、自然。
[0069]
s130、从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据。
[0070]
其中,每个游戏角色可具备唯一对应的角色标识。相应的,在确定目标角色后,还可以根据角色标识,从已生成的游戏角色的附件在预设姿态下的离线数据中,获取到目标角色的角色标识所对应的目标离线数据。
[0071]
并且,在获取目标离线数据时,还可以包括:判断附件的模型是否由骨骼驱动;若是,则获取骨骼相关的目标离线数据;若否,则获取模型相关的目标离线数据。
[0072]
s140、基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。
[0073]
本实施例中,当目标离线数据的类型为骨骼相关的数据时,可以基于实时头转参数和目标离线数据,对目标角色的附件的骨骼进行调整,从而通过骨骼驱动附件的模型进行相应的调整;当目标离线数据的类型为模型相关的数据时,可以基于实时头转参数和目标离线数据,对目标角色的附件的模型直接调整。
[0074]
与传统的实时解算附件的骨骼数据相比,通过利用数据生成模型生成各游戏角色的附件在预设姿态下的离线数据,能够实现基于目标角色的附件在预设姿态下的目标离线数据,对目标角色的附件进行纯离线模式的模型调整,从而可在很大程度上节省运算性能消耗。
[0075]
在一些可选的实现方式中,数据生成模型的训练步骤,包括:获取样本角色的头部骨骼数据,以及样本角色的附件在预设姿态下的离线数据;将样本角色的头部骨骼数据输入数据生成模型,输出实际离线数据;以实际离线数据,与样本角色的附件在预设姿态下的离线数据之间的偏差小于预设值为目标,对数据生成模型进行训练。
[0076]
其中,样本角色的头部骨骼数据、以及附件在预设姿态下的离线数据,可以认为是
长期积累的已制作完毕的样本数据。并且,样本数据量越大,基于样本数据训练得到数据生成模型,预测出的离线数据越精准,从而附件的模型调整效果越佳。
[0077]
在训练数据生成模型时,可以将样本角色的头部骨骼数据作为输入,将样本角色的附件在预设姿态下的离线数据作为期望输入。通过不断调整优化数据生成模型内部的模型参数,可以使得实际离线数据与预设姿态下的离线数据之间的偏差越来越小。当偏差小于预设值的目标时,可以认为数据生成模型学习到了到头部骨骼数据和离线数据之间的规律,此时可结束训练过程。在训练完毕后,数据生成模块可以实现基于头部骨骼数据,预测附件在预设姿态下的离线数据。
[0078]
在这些可选的实现方式中,通过大量的样本角色的头部骨骼数据,以及样本角色的附件在预设姿态下的离线数据,能够实现数据生成模型的训练。
[0079]
在一些可选的实现方式中,确定目标角色的实时头转参数,包括:响应于玩家操作,确定目标角色的实时头转参数;和/或,响应于程序判断结果,确定目标角色的实时头转参数。
[0080]
其中,响应于玩家操作,确定目标角色的实时头转参数,可以是响应于对玩家角色的移动操作,确定目标角色的实时头转参数。示例性的,当目标角色为玩家角色时,响应于对玩家角色的移动操作,实时得出玩家角色转向目标方向之间的夹角。当目标角色为动物角色,待朝向角色为玩家角色,可响应于对玩家角色的移动操作,实时确定动物角色的实时头转参数。
[0081]
其中,响应于程序判断结果,确定目标角色的实时头转参数,可以是响应于当前判断得到的待朝向角色的实时位置,确定目标角色的实时头转参数。示例性的,当目标角色为未发言的npc角色,待朝向角色为正在发言的npc角色,可响应于对正在发言的npc的位置的判断,确定未发言的npc的实时头转参数。
[0082]
在这些可选的实现方式中,可以基于玩家操作和程序判断中的任意一种,确定头转参数,也可以同时根据玩家操作和程序判断确定头转参数。
[0083]
在一些可选的实现方式中,基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整,还包括:基于实时头转参数、目标离线数据,以及目标角色的附件对应的预设动画,对目标角色的附件进行模型调整。
[0084]
其中,为使附件的呈现状态更加自然,通常会利用游戏引擎的叠加功能,将附件的骨骼数据所需叠加的一些基础层(base layer)的预设动画,叠加到附件的模型上。例如,将头发的骨骼数据需要叠加的一些微微飘动的动画,叠加到头发模型上,以使头发的模型呈现的姿态更轻盈自然。
[0085]
在这些可选的实现方式中,通过将附件的骨骼数据所需叠加的预设动画,叠加到附件的模型上,能够使附件的图像渲染出的姿态更加自然生动,提高用户游戏体验。
[0086]
本发明实施例提供的一种游戏中的防穿模方法,包括:将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据;在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色;从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据;基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。与传统的实时解算附件的骨骼数据相比,通过利用数据生成模型生成各游戏角色的附件在预
设姿态下的离线数据,能够实现基于目标角色的附件在预设姿态下的目标离线数据,对目标角色的附件进行纯离线模式的模型调整,从而可在很大程度上节省运算性能消耗。此外,通过利用数据生成模型生成离线数据,不仅可以节省制作离线数据的人力成本,还能够保证较佳的防穿模效果。
[0087]
实施例二
[0088]
图2是本发明实施例二提供的一种游戏中的防穿模方法的流程示意图。本实施例与上述实施例中提供的游戏中的防穿模方法中各个可选方案可以结合。本实施例对目标离线数据为骨骼文件时,基于骨骼文件对附件的模型进行调整步骤进行了优化。通过预先配置好的融合树,能够基于目标角色的实时头转参数,对目标角色附件的骨骼文件进行融合,并根据融合的骨骼文件进行附件的骨骼控制,以实现附件的模型调整。
[0089]
参见图2,本实施例提供的游戏中的防穿模方法,具体包括如下步骤:
[0090]
s210、将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据。
[0091]
s220、在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色。
[0092]
s230、从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的骨骼文件。
[0093]
s240、将实时头转参数转化为预设融合树的控制参数;其中,预设融合树配置有骨骼文件。
[0094]
其中,预设融合树(可称为blend tree),具备按不同程度融合配置的骨骼文件,以融合多个骨骼文件的功能。其中,blend tree可以分为一维、二维和多维blend tree,且每个维度可以表征待融合的维度。例如,可以为简单的不同方向维度的融合,也可以为更复杂的速度维度和角速度维度的融合等。其中,预设融合树的控制参数的项数,等于预设融合树的维度值,以用于实现通过不同维度的控制参数,对不同维度的待融合数据进行融合控制。
[0095]
其中,头转参数的角度数值可以与控制参数的数值呈正相关的关系,可以根据该对应关系确定头转参数确定控制参数。
[0096]
s250、根据控制参数确定融合信息,并基于融合信息,将骨骼文件进行融合。
[0097]
其中,融合信息包括但不限于,待融合的骨骼文件,以及待融合的骨骼文件的权重值等。其中,可根据各项控制参数的数值,确定融合信息。通过将各附件在各预设姿态的骨骼文件,预先配置到预设融合树中,能够实现根据控制参数快速地进行骨骼文件融合,生成融合后的骨骼文件。
[0098]
s260、根据融合的骨骼文件,对目标角色的附件进行骨骼控制,以调整目标角色的附件的模型。
[0099]
其中,可通过游戏引擎对融合后的骨骼文件进行加载,能够实现更改目标角色的附件的骨骼数据,例如更改附件对应各骨骼的旋转、缩放和位移等数据,从而实现对目标角色的附件进行骨骼控制,以带动目标角色的附件的模型进行相应调整。与传统的实时解算附件的骨骼数据相比,通过利用融合的骨骼文件进行附件骨骼控制,能够实现纯离线模式的骨骼控制,从而可在很大程度上节省运算性能消耗。
[0100]
本发明实施例提供的一种游戏中的防穿模方法,对目标离线数据为骨骼文件时,
基于骨骼文件对附件的模型进行调整步骤进行了优化。通过预先配置好的融合树,能够基于目标角色的实时头转参数,对目标角色附件的骨骼文件进行融合,并根据融合的骨骼文件进行附件的骨骼控制,以实现附件的模型调整。此外,本实施例提供的游戏中的防穿模方法与上述实施例提供的游戏中的防穿模方法属于同一技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
[0101]
实施例三
[0102]
图3是本发明实施例三提供的一种游戏中的防穿模方法的流程示意图。本实施例与上述实施例中提供的游戏中的防穿模方法中各个可选方案可以结合。本实施例对目标离线数据为骨骼数据表时,基于骨骼数据表对附件的模型进行调整步骤进行了优化。通过根据目标角色的实时头转参数,对预先记录的附件的骨骼数据进行查找,能够实现根据查找的骨骼数据进行附件的骨骼控制,以实现附件的模型调整。
[0103]
参见图3,本实施例提供的游戏中的防穿模方法,具体包括如下步骤:
[0104]
s310、将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据。
[0105]
s320、在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色。
[0106]
s330、从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的骨骼数据表。
[0107]
s340、将实时头转参数转化为第一旋转参数,其中第一旋转参数符合骨骼数据表中骨骼数据的规定格式。
[0108]
其中,预设骨骼数据表中可以包含,各附件在各预设姿态下经过调整优化后的骨骼数据。其中,预设骨骼数据表中的骨骼数据,可以包括下述至少一项:旋转参数、位移参数和缩放参数。其中,每项参数可分别设置有规定格式,且规定格式可以包括但不限于数据类型、计量单位和数据转化方式等。其中,数据转换方式可以认为是,表征相同内容的原骨骼数据与记录至骨骼数据表中的骨骼数据之间的转换方式。
[0109]
本实施例中,可以基于预设骨骼数据表中,针对旋转参数预先设置的规定格式,将实时头转参数转化为第一旋转参数。
[0110]
s350、从预设骨骼数据表中,查找与第一旋转参数相匹配的附件字段的骨骼数据。
[0111]
在预设骨骼数据表中,可以设置附件字段,且每个字段下的数据可以表征对应附件在各预设姿态的骨骼数据。其中,可以将各附件在相同预设姿态下的骨骼数据作为同一组数据。其中,在预设骨骼数据表中,还可以存储目标角色在各预设姿态的头部的旋转参数,并建立头部的旋转参数与相应组的骨骼数据的对应关系。
[0112]
当获取到第一旋转参数后,可在预设骨骼数据表中查找与第一旋转参数匹配的头部的旋转参数。进而,可以基于预先建立的对应关系,获取与相匹配的头部的旋转参数对应的各附件的骨骼数据。
[0113]
s360、根据查找的骨骼数据,对目标角色的附件进行骨骼控制,以调整目标角色的附件的模型。
[0114]
其中,查找到的各附件的骨骼数据,可以认为是与程序对头部骨骼动态控制后呈
现姿态最为接近的预设姿态,所对应的各附件的骨骼数据。通过根据最为接近的预设姿态下的附件骨骼数据,对目标角色进行附件的骨骼控制,以带动目标角色的附件的模型进行相应调整,能够在一定程度上保证头部附件呈现较合理的姿态,并且与传统的实时解算附件的骨骼数据相比,还能够节省运算性能消耗,以及保证较佳的防穿模效果。
[0115]
本发明实施例提供的一种游戏中的防穿模方法,对离线数据为骨骼数据表时,基于骨骼数据表对附件的模型进行调整步骤进行了优化。通过根据目标角色的实时头转参数,对预先记录的附件的骨骼数据进行查找,能够实现根据查找的骨骼数据进行附件的骨骼控制。此外,本实施例提供的游戏中的防穿模方法与上述实施例提供的游戏中的防穿模方法属于同一技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
[0116]
实施例四
[0117]
图4是本发明实施例四提供的一种游戏中的防穿模方法的流程示意图。本实施例与上述实施例中提供的游戏中的防穿模方法中各个可选方案可以结合。本实施例对目标离线数据为预设模型时,基于预设模型对附件的模型进行调整步骤进行了优化通过根据目标角色的实时头转参数,驱动预先制作的附件的模型进行融合变形,以实现附件的模型形变,从而避免穿模。
[0118]
参见图4,本实施例提供的游戏中的防穿模方法,具体包括如下步骤:
[0119]
s410、将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据。
[0120]
s420、在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色。
[0121]
s430、从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的预设模型。
[0122]
s440、根据实时头转参数,驱动预设模型进行融合,以呈现融合后的模型;其中,预设模型为目标角色的附件在预设姿态时的变形模型。
[0123]
其中,预设模型(可称为blend shape),可以认为是对附件的原始模型进行变形后的副本。其中,附件的原始模型可以由点、线、面构成。其中,对原始模型进行变形,可以是在不改变模型拓扑的基础上,采用各种变形工具来改变模型的形状,也可以直接移动点的位置来改变模型的形状。其中,不改变模型拓扑例如包括,不对点、线、面进行增减,以及不改变点的标识(identity,id)等。
[0124]
其中,可以通过程序中开发的驱动功能,或使用游戏引擎中已有的驱动功能,基于实时头转参数,驱动预设模型进行融合。其中,可以直接根据融合后的模型,控制目标角色的附件模型进行相应的形变,以呈现融合后的模型。与传统的实时解算附件的骨骼数据相比,通过基于离线的模型数据进行融合,以呈现变形后的附件的模型,可在很大程度上节省运算性能消耗。
[0125]
本发明实施例提供的一种游戏中的防穿模方法,对目标离线数据为预设模型时,基于预设模型对附件的模型进行调整步骤进行了优化通过根据目标角色的实时头转参数,驱动预先制作的附件的模型进行融合变形,以实现附件的模型形变,从而避免穿模。此外,本实施例提供的游戏中的防穿模方法与上述实施例提供的游戏中的防穿模方法属于同一
技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
[0126]
实施例五
[0127]
图5是本发明实施例五提供的一种游戏中的防穿模方法的流程示意图。本实施例与上述实施例中提供的游戏中的防穿模方法中各个可选方案可以结合。本实施例对目标离线数据为预设格式的顶点位置信息时,基于顶点位置信息对附件的模型进行调整步骤进行了优化。通过图形处理器,能够基于目标角色的实时头转参数,和附件在预设姿态的顶点位置信息,确定目标顶点位置信息,以根据目标顶点位置信息将附件的图像直接绘制到屏幕上,从而避免穿模。
[0128]
参见图5,本实施例提供的游戏中的防穿模方法,具体包括如下步骤:
[0129]
s510、将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据。
[0130]
s520、在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色。
[0131]
s530、从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的预设格式的顶点位置信息。
[0132]
s540、通过图形处理器,基于实时头转参数以及预设格式的顶点位置信息,确定目标顶点信息。
[0133]
在基于cpu运行的程序对游戏角色的头部骨骼做动态控制的同时,还可以利用图形处理器(graphics processing unit,gpu)来对游戏角色头部的附件模型中变化后的顶点进行渲染,以避免附件模型与游戏角色的其他部分的模型(例如身体、服饰等)发生穿模的情况。
[0134]
其中,目标角色和目标角色的实时头转参数,可以由cpu运行的程序确定。并且,cpu运行的程序可以将确定的目标角色的实时头转参数发送至gpu中,以使gpu能够基于接收的实时头转参数,将附件的图像绘制到显示屏上进行显示。
[0135]
其中,顶点位置信息可以认为是,附件的模型所包含的点的顶点位置坐标。gpu在接收实时头转参数后,能够根据目标角色的附件在预设姿态的顶点位置信息,计算出与实时头转参数对应的附件模型中各点的顶点位置信息(即目标顶点信息),以用于进行附件的图像渲染。
[0136]
s550、根据目标顶点信息,将目标角色的附件的模型的图像进行渲染显示。
[0137]
本实施例中,gpu确定出附件模型中各点的目标顶点信息后,可以将目标顶点信息由数字信号转换成模拟信号,即根据目标顶点信息计算得到附件的图像在屏幕上的像素坐标。进而,可按照像素坐标将附件的图像绘制到显示屏上,以实现附件的图像渲染。
[0138]
与传统的实时解算附件的骨骼数据相比,通过基于离线的顶点位置坐标确定目标顶点信息,可在很大程度上节省运算性能消耗。此外,通过将附件的图像渲染步骤由cpu移至gpu进行处理,还可以提高附件的渲染效率,并且很大程序上减小cpu的运行压力,使得游戏运行更加流畅。
[0139]
本发明实施例提供的一种游戏中的防穿模方法,对目标离线数据为预设格式的顶点位置信息时,基于顶点位置信息对附件的模型进行调整步骤进行了优化。通过图形处理
器,能够基于目标角色的实时头转参数,和附件在预设姿态的顶点位置信息,确定目标顶点位置信息,以根据目标顶点位置信息将附件的图像直接绘制到屏幕上,从而避免穿模。此外,本实施例提供的游戏中的防穿模方法与上述实施例提供的游戏中的防穿模方法属于同一技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
[0140]
实施例六
[0141]
图6是本发明实施例六提供的一种游戏中的防穿模装置的结构示意图。本实施例提供的防穿模装置可适用于游戏中的防穿模的情况,例如适用于在游戏角色转头时,防止头发和挂件等附件,与游戏角色模型的身体或衣服发生穿模的情况。
[0142]
参见图6,本发明提供的游戏中的防穿模装置,包括:
[0143]
数据生成模块610,用于将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据;
[0144]
参数确定模块620,用于在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色;
[0145]
数据获取模块630,用于从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据;
[0146]
模型调整模块640,用于基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。
[0147]
在一些可选的实现方式中,防穿模装置,还包括:
[0148]
模型训练模块,用于获取样本角色的头部骨骼数据,以及样本角色的附件在预设姿态下的离线数据;
[0149]
将样本角色的头部骨骼数据输入数据生成模型,输出实际离线数据;
[0150]
以实际离线数据,与样本角色的附件在预设姿态下的离线数据之间的偏差小于预设值为目标,对数据生成模型进行训练。
[0151]
在一些可选的实现方式中,参数确定模块,具体用于:
[0152]
响应于玩家操作,确定目标角色的实时头转参数;和/或,
[0153]
响应于程序判断结果,确定目标角色的实时头转参数。
[0154]
在一些可选的实现方式中,若目标离线数据为骨骼文件,则模型调整模块,具体用于:
[0155]
将实时头转参数转化为预设融合树的控制参数;其中,预设融合树配置有骨骼文件;
[0156]
根据控制参数确定融合信息,并基于融合信息,将骨骼文件进行融合;
[0157]
根据融合的骨骼文件,对目标角色的附件进行骨骼控制,以调整目标角色的附件的模型。
[0158]
在一些可选的实现方式中,若目标离线数据为骨骼数据表,则模型调整模块,具体用于:
[0159]
将实时头转参数转化为第一旋转参数,其中第一旋转参数符合骨骼数据表中骨骼数据的规定格式;
[0160]
从预设骨骼数据表中,查找与第一旋转参数相匹配的附件字段的骨骼数据;
[0161]
根据查找的骨骼数据,对目标角色的附件进行骨骼控制,以调整目标角色的附件的模型。
[0162]
在一些可选的实现方式中,若目标离线数据为预设模型,则模型调整模块,具体用于:
[0163]
根据实时头转参数,驱动预设模型进行融合,以呈现融合后的模型;其中,预设模型为目标角色的附件在预设姿态时的变形模型。
[0164]
在一些可选的实现方式中,若目标离线数据为预设格式的顶点位置信息,则模型调整模块,具体用于:
[0165]
通过图形处理器,基于实时头转参数以及预设格式的顶点位置信息,确定目标顶点信息;
[0166]
根据目标顶点信息,将目标角色的附件的模型的图像进行渲染显示。
[0167]
在一些可选的实现方式中,模型调整模块,还具体用于:
[0168]
基于实时头转参数、目标离线数据,以及目标角色的附件对应的预设动画,对目标角色的附件进行模型调整。
[0169]
本发明实施例所提供的游戏中的防穿模装置可执行本发明任一实施例所提供的游戏中的防穿模方法,具备执行方法相应的功能模块和有益效果。未详尽描述的技术细节,可参见本发明任一实施例所提供的游戏中的防穿模方法。
[0170]
实施例七
[0171]
图7是本发明实施例七提供的一种电子设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图7显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担跨系统的程序对接功能的电子设备。
[0172]
如图7所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。
[0173]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mca)总线,增强型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnect,pci)总线。
[0174]
电子设备12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0175]
存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(random access memory,ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储装置34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compact disc-read only memory,cd-rom)、数字视盘
(digital video disc-read only memory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0176]
电子设备12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network,lan),广域网wide area network,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent disks,raid)装置、磁带驱动器以及数据备份存储装置等。
[0177]
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,以实现本发明上述实施例所提供的游戏中的防穿模方法,包括:
[0178]
将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据;在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色;从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据;基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。
[0179]
当然,本领域技术人员可以理解,处理器还可以实现本发明任一实施例所提供的游戏中的防穿模方法的技术方案。
[0180]
实施例八
[0181]
本发明实施例八还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的游戏中的防穿模方法,该方法包括:
[0182]
将游戏角色的头部骨骼数据输入训练完毕的数据生成模型,以通过数据生成模型,生成游戏角色的附件在预设姿态下的离线数据;在游戏运行过程中,确定目标角色的实时头转参数,其中目标角色属于游戏角色;从游戏角色的附件在预设姿态下的离线数据中,获取目标角色的附件在预设姿态下的目标离线数据;基于实时头转参数和目标离线数据,对目标角色的附件进行模型调整。
[0183]
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上的方法操作,还可以执行本发明任一实施例所提供的游戏中的防穿模方法。
[0184]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或
器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。
[0185]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。
[0186]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0187]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0188]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1