一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

游戏动画的生成方法及装置、存储介质、终端与流程

2021-10-09 14:39:00 来源:中国专利 TAG:装置 生成 游戏动画 方法 数据


1.本发明涉及一种数据技术领域,特别是涉及一种游戏动画的生成方法及装置。


背景技术:

2.随着大世界类型游戏开发需求的逐步仿真化,各种虚拟动画的程序化开发越来越受到关注。尤其是针对大世界类型游戏中随着世界时间的变化,生成具有真实生长效果的场景动画的需求越来越多,例如,生成攀附于房屋、桥体、树等表面动态生长的藤蔓动画。
3.目前,现有的对具有覆盖效果的动画生成方法通常直接采用人工添加动画面片,或者利用专业的3d生成软件spline等生成,然而,人工添加动画面片方式浪费人力资源,且添加的动画面片无法体现动画的真实生长效果,而基于专业软件等方式无法适用于各个游戏引擎中,增大了移动端的渲染压力,无法满足大世界类型游戏的程序化生成需求,也无法满足不同定制化动画仿真生长的需求。


技术实现要素:

4.有鉴于此,本发明提供一种游戏动画的生成方法及装置、存储介质、终端,主要目的在于解决现有动画仿真生长生成效果差的问题。
5.依据本发明一个方面,提供了一种游戏动画的生成方法,包括:
6.获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;
7.确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;
8.对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画。
9.进一步地,所述确定所述主体模型的目标支点包括:
10.获取所述主体模型的顶点数据以及待构建附属模型的特征参数;
11.基于预设特征曲线确定与所述顶点数据、所述特征参数对应的权重值,并结合随机参数计算所述顶点数据对应的概率值;
12.若所述概率值大于预设概率阈值,则确定所述顶点数据为目标支点。
13.进一步地,所述在所述目标支点处构建所述主体模型的附属模型包括:
14.获取待构建附属模型的面片贴图,并基于所述目标支点生成点云数据;
15.结合所述特征参数将所述面片贴图配置于所述点云数据处,得到附属模型。
16.进一步地,所述在所述目标支点处构建所述主体模型的附属模型包括:
17.获取所述目标支点所对应的吸附力数据,所述吸附力数据用于表征所述攀爬对象依附所述场景物进行攀爬产生吸附作用的数据;
18.根据所述吸附力数据确定所述目标支点的法线,并通过所述法线、所述目标支点与前序支点的位置差确定第一多边形模型体;
19.按照所述特征参数将所述第一多边形模型体转换生成附属模型。
20.进一步地,所述通过连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型包括:
21.对所述节点数据以及子节点数据进行线性连接,并通过三维扫描线性连接后的线段,得到所述主体模型;或,
22.对所述节点数据以及子节点数据进行线性连接,并通过定义的第二多边形模型体配置于线性连接后的至少一个线段中,合成所述主体模型。
23.进一步地,所述获取攀爬对象的节点数据以及子节点数据之前,所述方法还包括:
24.获取待攀爬对象的节点数据,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态;
25.基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据,所述生长力数据用于表征驱动所述节点数据按照不同受力大小向、不同受力方向进行攀爬的数据。
26.进一步地,所述生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,所述基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据包括:
27.获取主力方向数据、随机力数据、重力数据以及吸附力数据;
28.解析所述节点数据中的受力数据,所述受力数据用于表征所述攀爬对象的生长特征;
29.在所述吸附力数据的范围内,按照不同坐标方向将所述主力方向数据、所述随机力数据、所述重力数据叠加至所述受力数据中,确定子节点数据的受力数据,以得到所述子节点数据。
30.进一步地,所述节点数据包括节点状态、攀爬状态、受力数据,所述基于生长力数据对所述节点数据进行受力驱动之后,所述方法还包括:
31.确定所述节点数据中的节点状态、攀爬状态,所述节点状态用于表征所述节点数据生成子节点数据的能力,所述攀爬状态用于表征所述节点数据与所述场景物的模型数据产生碰撞的属性;
32.基于所述节点状态、所述攀爬状态判断基于所述受力数据进行受力驱动得到的子节点数据是否匹配生长特征;
33.若匹配生长特征,则将进行受力驱动得到的受力数据确定为所述攀爬对象的子节点数据中的受力数据,并更新所述子节点数据中的节点状态、攀爬状态。
34.依据本发明另一个方面,提供了一种游戏动画的生成装置,包括:
35.获取模块,用于获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;
36.构建模块,用于确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;
37.生成模块,用于对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画。
38.进一步地,所述构建模块包括:
39.获取单元,用于获取所述主体模型的顶点数据以及待构建附属模型的特征参数;
40.计算单元,用于基于预设特征曲线确定与所述顶点数据、所述特征参数对应的权重值,并结合随机参数计算所述顶点数据对应的概率值;
41.第一确定单元,用于若所述概率值大于预设概率阈值,则确定所述顶点数据为目标支点。
42.进一步地,所述构建模块还包括:
43.第一生成单元,用于获取待构建附属模型的面片贴图,并基于所述目标支点生成点云数据;
44.配置单元,用于结合所述特征参数将所述面片贴图配置于所述点云数据处,得到附属模型。
45.进一步地,所述构建模块还包括:
46.获取单元,用于获取所述目标支点所对应的吸附力数据,所述吸附力数据用于表征所述攀爬对象依附所述场景物进行攀爬产生吸附作用的数据;
47.第二确定单元,用于根据所述吸附力数据确定所述目标支点的法线,并通过所述法线、所述目标支点与前序支点的位置差确定第一多边形模型体;
48.第二生成单元,用于按照所述特征参数将所述第一多边形模型体转换生成附属模型。
49.进一步地,所述获取模块包括:
50.扫描单元,用于对所述节点数据以及子节点数据进行线性连接,并通过三维扫描线性连接后的线段,得到所述主体模型;或,
51.配置单元,用于对所述节点数据以及子节点数据进行线性连接,并通过定义的第二多边形模型体配置于线性连接后的至少一个线段中,合成所述主体模型。
52.进一步地,所述装置还包括:驱动模块,
53.所述获取模块,还用于获取待攀爬对象的节点数据,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态;
54.所述驱动模块,用于基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据,所述生长力数据用于表征驱动所述节点数据按照不同受力大小向、不同受力方向进行攀爬的数据。
55.进一步地,所述生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,所述驱动模块包括:
56.获取单元,用于获取主力方向数据、随机力数据、重力数据以及吸附力数据;
57.解析单元,用于解析所述节点数据中的受力数据,所述受力数据用于表征所述攀爬对象的生长特征;
58.叠加单元,用于在所述吸附力数据的范围内,按照不同坐标方向将所述主力方向数据、所述随机力数据、所述重力数据叠加至所述受力数据中,确定子节点数据的受力数据,以得到所述子节点数据。
59.进一步地,节点数据包括节点状态、攀爬状态、受力数据,所述装置还包括:
60.第一确定模块,用于确定所述节点数据中的节点状态和/或攀爬状态,所述节点状
态用于表征所述节点数据生成子节点数据的状态,所述攀爬状态用于表征攀爬对象的节点是否处于攀爬过程;
61.判断模块,用于若所述节点状态为生长状态,和/或所述攀爬状态为攀爬状态,则判断基于受力驱动得到的受力数据是否匹配预设攀爬特征阈值;
62.第二确定模块,用于若匹配预设攀爬特征阈值,则将受力驱动得到的受力数据确定为所述子节点数据的受力数据。
63.根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述游戏动画的生成方法对应的操作。
64.根据本发明的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
65.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述游戏动画的生成方法对应的操作。
66.借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
67.本发明提供了一种游戏动画的生成方法及装置、存储介质、终端,与现有技术相比,本发明实施例通过获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画,实现游戏动画的程序化生成,大大降低了游戏引擎对攀爬类动画的渲染压力以及生成成本,极大地满足了基于不同定制化动画的生成需求,从而提高游戏动画生成效率。
68.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
69.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
70.图1示出了本发明实施例提供的第一种游戏动画的生成方法流程图;
71.图2示出了本发明实施例提供的第二种游戏动画的生成方法流程图;
72.图3示出了本发明实施例提供的第三种游戏动画的生成方法流程图;
73.图4示出了本发明实施例提供的一种藤蔓枝干生长方法示意图;
74.图5示出了本发明实施例提供的第四种游戏动画的生成方法流程图;
75.图6示出了本发明实施例提供的一种基于目标支点确定叶子模型体的示意图;
76.图7示出了本发明实施例提供的一种藤蔓攀爬枝干动画示意图;
77.图8示出了本发明实施例提供的第五种游戏动画的生成方法流程图;
78.图9示出了本发明实施例提供的第六种游戏动画的生成方法流程图;
79.图10示出了本发明实施例提供的第七种游戏动画的生成方法流程图;
80.图11示出了本发明实施例提供的一种游戏动画的生成装置组成框图;
81.图12示出了本发明实施例提供的一种终端的结构示意图。
具体实施方式
82.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
83.本发明实施例提供了一种游戏动画的生成方法,如图1所示,该方法包括:
84.101、获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型。
85.本发明实施例中,攀爬对象为在游戏世界中依附场景物生长、覆盖、蔓延的动态或静态物,包括但不限于游戏世界中的物或由游戏角色、游戏器件等产生的特效,例如,在墙上攀爬的藤蔓,在墙上冰冻的雪花,对角色进行攀爬的特效等,本发明实施例不做具体限定。其中,所述子节点数据基于所述节点数据确定,攀爬对象通过节点生成具有攀爬关系的子节点,子节点又可以作为新的父节点得到子节点,依此类推得到依附场景物攀爬的攀爬对象,各个节点的位置处基于node节点存储节点数据,用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,即根据节点数据可以准确确定出待攀爬对象的位置、攀爬状态、受力情况等内容,因此,节点数据以及子节点数据中均包括各自的节点状态、攀爬状态、受力数据。
86.需要说明的是,为了生成具有程序化、逼真效果的攀爬对象,将节点数据、子节点数据进行连接,生成攀爬对象的主体模型。其中,由于在生成子节点时,可以基于一个根节点逐层迭代得到各个层级的节点,每个节点作为上一层级的子节点,也可以作为下一层级的父节点,因此,连接至少一个节点与子节点,可以得到攀爬对象的主体模型。针对游戏引擎中的各个场景物或者附件物等游戏动画内容,可以通过数据模型进行构建,因此,可以基于节点数据与子节点数据进行连接,建立攀爬对象的主体模型,例如,若攀爬对象为藤蔓,主体模型为基于节点数据与子节点数据构建的枝干模型。
87.102、确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型。
88.本发明实施例中,为了实现逼真的攀爬对象的生长效果,针对依附场景物生长、覆盖、蔓延的动态或静态物构建主体模型后,基于主体模型确定目标支点,从而在目标支点处构建附属模型,实现逼真的攀爬效果。其中,附属模型为基于主体模型生长、或者延伸出的物模型,例如,若主体模型为藤蔓枝干模型,附属模型可以为叶子模型,若主体模型为技能闪电主干模型,附属模型可以为技能闪电支干模型,本发明实施例不做具体限定,对应的,目标支点即为主体模型上向不同方向延伸附属模型的位置点。
89.需要说明的是,目标支点在主体模型上可以为一个也可以为多个,同时,在一个目标支点处构建的附属模型可以为一个、也可以为多个,从而实现逼真的攀爬效果,本发明实施例不做具体限定。例如,在藤蔓枝干上的一个目标支点处,可以向相对的2个方向分别构建叶子模型,也可以向任意方向构建一个叶子模型或多个叶子模型。
90.103、对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画。
91.本发明实施例中,为了实现攀爬对象动画的生成,通过游戏引擎对主题模型以及在主体模型的各个目标支点处构建的附属模型进行渲染,生成得到攀爬对象的动画。其中,由于主题模型为基于至少一个节点、以及与之对应的子节点构建的,因此,主题模型可以为一段藤蔓枝干的生长动画,也可以一根完整藤蔓枝条的生长动画,具体的,在渲染时,按照各个节点、子节点之间的生长关系。例如,节点位置、生长子节点时间作为攀爬的顺序进行渲染。当然的,在渲染过程中,可以设定主体模型与附属模型的渲染顺序,可以设定在主体模型全部渲染完成后,对各目标支点处的附属模型进行渲染,也可以在渲染主体模型的过程中,完成各个目标支点的渲染后,不比等待主体模型的全部渲染,直接在各个目标支点处渲染附属模型,从而实现不同攀爬效果的攀爬对象程序化制造。例如,藤蔓的攀爬动画可以在枝干攀爬的过程中同时渲染叶子,从而完成藤蔓自然生长的攀爬效果。又如,电流技能的攀爬动画可以在主电流攀爬完角色后,渲染各个小电流,完成技能的程序化攀爬效果。
92.在本发明实施例中,为了进一步限定及说明,如图2所示,步骤102中确定所述主体模型的目标支点包括:1021、获取所述主体模型的顶点数据以及待构建附属模型的特征参数;1022、基于预设特征曲线确定与所述顶点数据、所述特征参数对应的权重值,并结合随机参数计算所述顶点数据对应的概率值;1023、若所述概率值大于预设概率阈值,则确定所述顶点数据为目标支点。
93.由于主体模型是基于数据点以及不同面片组成的,因此,为了实现程序化、效果逼真的攀爬过程,获取主体模型的订单数据,以及构建附属模型的特征参数,从而结合预设特征曲线确定主体模型上的目标支点。其中,顶点数据即为构建主体模型上的各个顶点的数据内容,特征参数用于表征构建附属模型的密度,不同位置的主体模型可以对应不同大小的特征参数,例如,藤蔓枝干位置越低的主体模型对应叶子密度大,特征参数越大,藤蔓枝干位置越高的主体模型对应叶子密度小,特征参数越小,对于是否为枝干顶部或底部可以通过攀爬高度totmeshallength来确定,一般来说,枝干顶部的叶子概率比底部要低,地上的藤曼叶子比垂直上方的藤曼叶子出现的概率要高,本发明实施例不做具体限定。预设特征曲线为预先配置的不同顶点数据、不同特征参数与权重值之间的对应关系,以便在确定特征参数后,在预设特征曲线中查找顶点数据的权重值,进而,基于权重值计算顶点数据作为目标支点的概率值。具体的,预先定义一个随机参数生成函数,随机生成一个随机参数,与基于预设特征曲线确定的权重值进行相乘,确定顶点数据确定为目标支点的概率值,若此概率值大于预设概率阈值,则说明此顶点数据可以作为目标支点,若此概率值小于或等于预设概率阈值,则说明此顶点数据无法作为目标支点,本发明实施例中对预设概率阈值不做具体限定,一般为0

1之间的数值。
94.需要说明的是,作为主体模型上的每个顶点数据均需要进行概率值计算,因此,基于程序化的遍历方式对主体模型上的全部点进行判断是否为目标支点。另外,若藤蔓为攀爬对象,对于同一根藤蔓顶部和底部配置条件相同的预设概率阈值,并可以选择顶部与底部不同的烘焙参数烘焙出不同的藤蔓支干,垂直的藤蔓为向上攀爬的部分,即与地面垂直的枝干。
95.在本发明实施例中,为了进一步限定及说明,如图3所示,步骤102中在所述目标支
点处构建所述主体模型的附属模型,具体包括:1024、获取待构建附属模型的面片贴图,并基于所述目标支点生成点云数据;1025、结合所述特征参数将所述面片贴图配置于所述点云数据处,得到附属模型。
96.为了使攀爬对象适用于不同终端,实现攀爬的程序化,减少数据渲染压力,针对移动端,如图4所示的藤蔓枝干生长方法示意图,在确定目标支点后,通过面片贴图覆盖的方式在目标支点处生成附属模型。具体的,在目标支点处,通过步进方式或者随机方式生成点云数据,然后基于获取到的附属模型的面片图配置与点云数据处,得到主体模型延伸出的附属模型。
97.需要说明的是,为了减少移动端的数据处理压力,可以将主体模型与附属模型作为一个整体模型进行渲染输出,附属模型在主体模型上目标支点的确定范围以节点与子节点之间的距离以及特征参数进行确定,即为基于攀爬的密度来进行配置面片贴图,从而得到一个连接性完整的模型,以便进行渲染。
98.在本发明实施例中,为了进一步限定及说明,如图5所示,与步骤1024、1025并列,步骤102中在所述目标支点处构建所述主体模型的附属模型,具体包括:1026、获取所述目标支点所对应的吸附力数据;1027、根据所述吸附力数据确定所述目标支点的法线,并通过所述法线、所述目标支点与前序支点的位置差确定第一多边形模型体;1028、按照所述特征参数将所述第一多边形模型体转换生成附属模型。
99.为了使攀爬对象适用于不同终端,实现攀爬的程序化,减少数据渲染压力,针对pc端,如图4所示的藤蔓枝干生长方法示意图,在确定目标支点后,基于吸附力数据确定法线,进而来构建目标支点的附属模型。其中,吸附力数据用于表征所述攀爬对象依附所述场景物进行攀爬产生吸附作用的数据,通过设定吸附力数据作为节点数据中受力数据与场景物的模型之间的最大距离,从而使得攀爬对象吸附场景物进行攀爬,其中,吸附力数据作为最大吸附距离基于场景物模型mesh的所有面,将距离三角面投影点与当前节点距离最近的位置的maxadhesiondistance值作为吸附力数据。具体的,在目标支点处按照吸附力数据的反向做法线,即垂直主体模型向外在目标支点处做法线,若目标支点处不存在吸附力数据,则可以基于最近距离的顶点数据的吸附力数据做法线,本发明实施例对于最近距离的顶点数据不做具体限定。另外,前序支点为相对于当前目标支点的前一个目标支点,因此,在确定法线后,通过法线、目标支点与前序支点的位置差确定第一多边形模型体,即基于目标支点与前序支点的位置差得到的是目标支点的前进方向,结合法线可以确定主体模型的切线方向,进而组成一个多边形,作为第一多边形模型体,具体以前进方向forward向量和切线方向tangent向量确定目标支点对应的一个多边形,优选为四边形,得到第一多边形模型体,并结合特征参数进行转换得到附属模型,本发明实施例不做具体限定。
100.需要说明的是,由于在一个目标支点处可以生成至少一个,因此,结合表征生长密度的特征参数对第一多边形模型体进行转换,即将第一多边形模型体转换至本地空间,然后再通过游戏引擎转换至游戏世界的空间中,得到附属模型,在转换过程中,也包括基于特征参数确定第一多边形模型体的个数、角度、大小等,例如,一个目标支点生成2个叶子或者更多个叶子,枝干中间位置叶子大、两端叶子小等,其中,转换可以通过设置转换矩阵实现,每个叶子之间角度相差40

45度,如图6所示的基于目标支点确定叶子模型体的示意图,本发明实施例不做具体限定。
101.在本发明实施例中,为了进一步限定及说明,步骤101通过连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,具体包括:对所述节点数据以及子节点数据进行线性连接,并通过三维扫描线性连接后的线段,得到所述主体模型;或,对所述节点数据以及子节点数据进行线性连接,并通过定义的第二多边形模型体配置于线性连接后的至少一个线段中,合成所述主体模型。
102.为了实现程序化的攀爬效果,提高动画生成的数据处理效率,在连接节点数据与子节点数据生成主体模型时,可以对节点数据与子节点数据进行线性连接,可以通过三维图像技术houdini扫描线性连接后的线段sweep,得到一个圆柱体,作为主体模型;还可以通过定义的第二多边形模型体配置与连接后的线段中,多各个线段中的多个第二多边形模型体进行复制合成为一整个主体模型,例如,将长方形导入枝干段中,然后将长方形复制各个连线的枝干段中,合成为完整的枝干模型,如图7所示的藤蔓攀爬枝干动画示意图,本发明实施例不做具体限定。
103.在本发明实施例中,为了进一步限定及说明,如图8所示,步骤101获取攀爬对象的节点数据以及子节点数据之前,所述方法还包括:201、获取待攀爬对象的节点数据;202、基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据。
104.为了实现程序化攀爬动画的生成,具体通过节点数据生成子节点数据,进而完成动画素材的准备,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,节点数据包括节点状态、攀爬状态、受力数据。节点状态用于表征所述节点数据生成子节点数据的状态,即表示基于节点是否可以产生子节点,可以包括生长状态与死亡状态,通过预先设定的攀爬层级的最大层级或攀爬悬停长度的最大长度进行确定。攀爬状态用于表征节点是否处于攀爬过程,其中,预先定义节点攀爬过程与墙体等场景物发生碰撞为攀爬状态,不在攀爬状态的节点,即为通过maxfloatinglength设定攀爬长度值超过阈值长度,则配置为无攀爬状态。受力数据用于表征攀爬的生长特征,为用于影响生成子节点的坐标数据内容。
105.需要说明的是,在初始化阶段,对作为根节点的节点数据进行初始化的数值定义,从而选取适合的攀爬起始点,此时,根节点位置的确定可以基于用户选取,也可以基于已产生的操作行为进行确定,本发明实施例不做具体限定。
106.另外,为了基于节点生成具有定制化效果、逼真仿真效果的攀爬子节点,则基于一个虚拟的生长力对节点进行受力影响,从而得到攀爬过程中节点对应的子节点,生长力数据用于表征驱动所述节点数据按照不同受力大小向、不同受力方向进行攀爬的数据。其中,生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,针对节点数据中的受力数据,为了使攀爬的凌乱程度更为逼真,定义受力数据与主方向力数据、随机力数据、吸附力数据、重力数据处于相同的坐标系下,从而基于生长力数据对节点数据进行受力驱动。主方向力数据表征向上的正向力,针对坐标系中,设定为一个坐标单元大小的力,如(x,y,z)=(0,1,0),通过主方向力数据对节点数据中的受力数据进行作用,得到的子节点数据中的受力数据在y轴方向上进行了向上的受力结果。随机力数据表征为攀爬凌乱程度的各方向力,通过定义标准大小的坐标单元大小的力,可以为1、0.5等,在各个方向上随机定义,结合预先确定的生长强度参数相乘,如将所有力的方向矢量相加之后相乘得到随机力数据,其中,各个方向力优先确定x轴与z轴上随机产生,从而使的子节点在向上的主方向力作用
下,结合x轴、y轴产生左右攀爬凌乱的效果,也可以包含有y轴方向上随机确定,产生上下攀爬的凌乱效果,本发明实施例不做具体限定。吸附力数据用于表征所述攀爬对象依附所述场景物进行攀爬产生吸附作用的数据,通过设定吸附力数据作为节点数据中受力数据与场景物的模型之间的最大距离,从而使得攀爬对象吸附场景物进行攀爬,其中,吸附力数据作为最大吸附距离基于场景物模型mesh的所有面,将距离三角面投影点与当前节点距离最近的位置的maxadhesiondistance值作为吸附力数据。重力数据表征为垂直向下的力,在坐标系中,通过定义y轴方向的(0,

1,0)作为向下的重力数据,从而结合其他力数据进行作用与受力数据,产生随机的向下效果。
107.需要说明的是,根据节点数据中所包含的节点状态、攀爬状态、受力数据,基于生长力数据对节点数据进行受力驱动,受力驱动即可以为按照不同方向力、不同大小力对节点数据的位置进行受力移动,从而得到因受力而改变位置的子节点数据,因此,子节点数据中同样包括节点状态、攀爬状态、受力数据,以便使得子节点可以作为节点生成对应的子节点,依次完成攀爬过程。同时,由于节点数据存储于在节点的位置处配置的node节点中,在攀爬的起始阶段,预先确定一个根节点,此根节点对应生成一条攀爬对象的分支,例如,一个根节点对应一条藤蔓枝干,攀爬对象的攀爬过程即为基于根节点得到根节点可以为一个,也可以为多个,每个根节点可以攀爬得到多条分支。同时,节点受力驱动得到的子节点时是作为父节点,对应的,得到的子节点在受力确定时同样可以作为父节点,得到子节点的子节点,即依次迭代完成攀爬过程中全部节点的生成。另外,由于各个节点可以依次进行迭代,为了确保攀爬对象仍然依附在场景物中进行攀爬,每次迭代过程需要对节点数据中的攀爬状态、节点状态进行更新,从而确定是否继续受力驱动,得到子节点。
108.在本发明实施例中,为了进一步限定及说明,如图9所示,所述生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,步骤202基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据,具体包括:2021、获取主力方向数据、随机力数据、重力数据以及吸附力数据;2022、解析所述节点数据中的受力数据;2023、在所述吸附力数据的范围内,按照不同坐标方向将所述主力方向数据、所述随机力数据、所述重力数据叠加至所述受力数据中,确定子节点数据的受力数据。
109.具体的,由于生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,为了实现对节点数据进行受力驱动,从而基于一个节点得到攀爬的子节点,获取主力方向数据、随机力数据、重力数据以及吸附力数据,以便对节点数据中的受力数据进行受力驱动。其中,每个节点数据中的主方向力数据均可以预先配置为一个坐标单元大小的力,通过坐标方式表示为(0,1,0),在与主方向力数据相同的坐标系中,随机配置不同方向,相同坐标单位大小的多个力,作为随机力数据,由于随机力数据的方向是随机的,为了体现攀爬的凌乱程度,结合单位大小相同力的数值与预先配置的生长强度参数相乘,最后得到具体的随机力数据的坐标表达内容。重力数据为已配置的垂直向下的力,通过坐标方式标识为(0,

1,0)。吸附力数据作为限制攀爬对象在场景物表面进行攀爬的参数,基于遍历当前节点的位置与场景物的模型三角面投影点之间的距离差,得到最大距离maxadhesiondistance进行确定,然后通过坐标方式进行表达,本发明实施例不做具体限定。另外,由于节点数据中的受力数据表征攀爬的生长特征,所述受力数据用于表征所述攀爬对象的生长特征,即受力数据可以表示为在与主方向力数据相同的坐标系中,节点所处
于的坐标位置,从而在此坐标位置上受到主力方向数据、随机力数据、重力数据、吸附力数据的驱动作用。本发明实施例中,通过主力方向数据、随机力数据、重力数据、吸附力数据对受力数据进行受力驱动可以直接将各个力按照不同力的方向进行叠加,从而自动完成攀爬的子节点的生成。
110.需要说明的是,生长强度参数用于表示攀爬过程中攀爬对象的密集程度、生长密度等状态,其中,生成强度参数可以与攀爬层级或攀爬悬停长度之间存在第一范围内的正比关系以及第二范围内的反比关系,或者可以在特定范围内随机选取,还可以通过设定与攀爬对象之间的位置具有正比或反比关系进行配置,从而体现攀爬对象的攀爬特征、凌乱程度等,本发明实施例不做具体限定。
111.在本发明实施例中,为了进一步限定及说明,如图10所示,所述节点数据包括节点状态、攀爬状态、受力数据,步骤基于生长力数据对所述节点数据进行受力驱动之后,所述方法还包括:301、确定所述节点数据中的节点状态和/或攀爬状态;302、若所述节点状态为生长状态,和/或所述攀爬状态为攀爬状态,则判断基于受力驱动得到的受力数据是否匹配预设攀爬特征阈值;303、若匹配预设攀爬特征阈值,则将受力驱动得到的受力数据确定为所述子节点数据的受力数据。
112.为了实现攀爬对象在攀爬过程中的凌乱效果,并以程序化形式进行体现,在对受力数据进行驱动后,进一步判断是否可以继续生成攀爬对象的子节点数据。其中,所述节点状态用于表征所述节点数据生成子节点数据的状态,所述攀爬状态用于表征攀爬对象的节点是否处于攀爬过程,由于节点状态、攀爬状态均表征当前节点进行攀爬过程中的状态,因此,在每次对节点数据中的受力数据进行受力驱动后或者同时,需要确定所述节点数据中的节点状态和/或攀爬状态,若节点状态为生长状态,和/或攀爬状态为攀爬状态,则说明当前节点可以进行受力驱动得到子节点,从而判断得到的受力数据是否匹配预设攀爬特征阈值。具体的,由于攀爬状态基于攀爬长度值限定,节点状态基于攀爬层级或攀爬悬停长度限定,因此,预设攀爬特征阈值包括但不限于攀爬长度值的阈值长度、攀爬层级的最大层级或攀爬悬停长度的最大长度等,本发明实施例不做具体限定。若匹配预设攀爬特征阈值,说明受力驱动得到的子节点存在,则将受力驱动得到的受力数据确定为子节点数据的受力数据。为了实现攀爬对象程序化的逼真攀爬效果,若受力数据不匹配预设攀爬特征阈值,则说明无法基于节点进行受力驱动的得到子节点,即无法在当前节点处继续攀爬,因此,清除受力数据,并同时将节点数据中的节点状态更新为死亡状态,和/或将攀爬状态更新为无攀爬状态。
113.本发明实施例提供了一种游戏动画的生成方法,与现有技术相比,本发明实施例通过获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画,实现游戏动画的程序化生成,大大降低了游戏引擎对攀爬类动画的渲染压力以及生成成本,极大地满足了基于不同定制化动画的生成需求,从而提高游戏动画生成效率。
114.进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种游戏动画的
生成装置,如图11所示,该装置包括:
115.获取模块41,用于获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;
116.构建模块42,用于确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;
117.生成模块43,用于对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画。
118.进一步地,所述构建模块包括:
119.获取单元,用于获取所述主体模型的顶点数据以及待构建附属模型的特征参数;
120.计算单元,用于基于预设特征曲线确定与所述顶点数据、所述特征参数对应的权重值,并结合随机参数计算所述顶点数据对应的概率值;
121.第一确定单元,用于若所述概率值大于预设概率阈值,则确定所述顶点数据为目标支点。
122.进一步地,所述构建模块还包括:
123.第一生成单元,用于获取待构建附属模型的面片贴图,并基于所述目标支点生成点云数据;
124.配置单元,用于结合所述特征参数将所述面片贴图配置于所述点云数据处,得到附属模型。
125.进一步地,所述构建模块还包括:
126.获取单元,用于获取所述目标支点所对应的吸附力数据,所述吸附力数据用于表征所述攀爬对象依附所述场景物进行攀爬产生吸附作用的数据;
127.第二确定单元,用于根据所述吸附力数据确定所述目标支点的法线,并通过所述法线、所述目标支点与前序支点的位置差确定第一多边形模型体;
128.第二生成单元,用于按照所述特征参数将所述第一多边形模型体转换生成附属模型。
129.进一步地,所述获取模块包括:
130.扫描单元,用于对所述节点数据以及子节点数据进行线性连接,并通过三维扫描线性连接后的线段,得到所述主体模型;或,
131.配置单元,用于对所述节点数据以及子节点数据进行线性连接,并通过定义的第二多边形模型体配置于线性连接后的至少一个线段中,合成所述主体模型。
132.进一步地,所述装置还包括:驱动模块,
133.所述获取模块,还用于获取待攀爬对象的节点数据,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态;
134.所述驱动模块,用于基于生长力数据对所述节点数据进行受力驱动,得到所述攀爬对象的子节点数据,所述生长力数据用于表征驱动所述节点数据按照不同受力大小向、不同受力方向进行攀爬的数据。
135.进一步地,所述生长力数据包括主方向力数据、随机力数据、吸附力数据、重力数据,所述驱动模块包括:
136.获取单元,用于获取主力方向数据、随机力数据、重力数据以及吸附力数据;
137.解析单元,用于解析所述节点数据中的受力数据,所述受力数据用于表征所述攀爬对象的生长特征;
138.叠加单元,用于在所述吸附力数据的范围内,按照不同坐标方向将所述主力方向数据、所述随机力数据、所述重力数据叠加至所述受力数据中,确定子节点数据的受力数据,以得到所述子节点数据。
139.进一步地,节点数据包括节点状态、攀爬状态、受力数据,所述装置还包括:
140.第一确定模块,用于确定所述节点数据中的节点状态和/或攀爬状态,所述节点状态用于表征所述节点数据生成子节点数据的状态,所述攀爬状态用于表征攀爬对象的节点是否处于攀爬过程;
141.判断模块,用于若所述节点状态为生长状态,和/或所述攀爬状态为攀爬状态,则判断基于受力驱动得到的受力数据是否匹配预设攀爬特征阈值;
142.第二确定模块,用于若匹配预设攀爬特征阈值,则将受力驱动得到的受力数据确定为所述子节点数据的受力数据。
143.本发明实施例提供了一种游戏动画的生成装置,与现有技术相比,本发明实施例通过获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画,实现游戏动画的程序化生成,大大降低了游戏引擎对攀爬类动画的渲染压力以及生成成本,极大地满足了基于不同定制化动画的生成需求,从而提高游戏动画生成效率。
144.根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的游戏动画的生成方法。
145.图12示出了根据本发明一个实施例提供的一种终端的结构示意图,本发明具体实施例并不对终端的具体实现做限定。
146.如图12所示,该终端可以包括:处理器(processor)502、通信接口(communications interface)504、存储器(memory)506、以及通信总线508。
147.其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
148.通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
149.处理器502,用于执行程序510,具体可以执行上述游戏动画的生成方法实施例中的相关步骤。
150.具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
151.处理器502可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
152.存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括
非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。
153.程序510具体可以用于使得处理器502执行以下操作:
154.获取攀爬对象的节点数据以及子节点数据,连接所述节点数据与所述子节点数据生成所述攀爬对象的主体模型,所述节点数据用于表征所述攀爬对象在游戏场景中依附场景物攀爬的状态,所述子节点数据基于所述节点数据确定;
155.确定所述主体模型的目标支点,并在所述目标支点处构建所述主体模型的附属模型;
156.对所述攀爬对象的主体模型、所述附属模型进行渲染,生成所述攀爬对象的动画。
157.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别生成成各个集成电路模块,或者将它们中的多个模块或步骤生成成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
158.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜