基于根骨骼的动画处理方法及装置与流程

文档序号:35058982发布日期:2023-08-06 19:53阅读:22来源:国知局
基于根骨骼的动画处理方法及装置与流程

本技术涉及游戏动画,尤其涉及一种基于根骨骼的动画处理方法及装置。


背景技术:

1、在游戏中,一般需要绘制动画文件,动画文件中可以包括动画的相关数据,例如动画帧的帧数据、时间数据等。相关技术中,可以采用程序驱动类的动画绘制方法,该方法比较常用语2d虚拟角色,有时也被用于3d虚拟角色。该方法主要是通过固定的速度数值或者曲线计算角色位置,实现虚拟角色的跳跃动画等。但是这种方法,动画节奏不直接与角色动作例如跳跃/攀爬动画等匹配,缺乏真实感,修改动力学曲线匹配动画节奏后仍需要通过修改碰撞胶囊体长度以处理碰撞,计算比较复杂。

2、总之,相关技术虚拟角色的动画处理方法,计算比较复杂,处理效率较低。


技术实现思路

1、为解决或部分解决相关技术中存在的问题,本技术提供一种基于根骨骼的动画处理方法及装置,能够避免复杂计算,降低计算量,提高处理效率。

2、本技术第一方面提供一种基于根骨骼的动画处理方法,包括:

3、绘制角色的包含根骨骼和子骨骼的原始动画数据,复制所述原始动画数据得到备份动画数据;

4、基于世界坐标系为所述角色创建几何体,将所述几何体作为所述角色在竖直方向坐标的最底部骨骼的被父子约束的子物体;

5、通过为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,并将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼;

6、在将备份动画数据中的子骨骼作为父物体与原始动画数据中的同一个子骨骼建立父子约束关系后,烘焙所述原始动画数据的关键帧,得到目标动画数据;

7、对所述目标动画数据进行烘焙,得到与所述目标动画数据对应的动画。

8、在一实施方式中,所述对所述目标动画数据进行烘焙,得到与所述目标动画数据对应的动画之前,还包括:

9、在所述目标动画数据中,将受重力下落的关键帧区间的根骨骼在竖直方向上的位移动画进行预设处理。

10、在一实施方式中,所述通过为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,并将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼,包括:

11、根据所述原始动画数据为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,其中所述关键帧包括时间和每个骨骼的平移分量;

12、将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼。

13、在一实施方式中,所述在将备份动画数据中的子骨骼作为父物体与原始动画数据中的同一个子骨骼建立父子约束关系后,烘焙所述原始动画数据的关键帧,得到目标动画数据,包括:

14、将备份动画数据中的子骨骼作为父物体与原始动画数据中的同一个子骨骼建立父子约束关系;

15、烘焙所述建立父子约束关系后的所述原始动画数据的关键帧,得到目标动画数据。

16、在一实施方式中,所述在所述目标动画数据中,将受重力下落的关键帧区间的根骨骼在竖直方向上的位移动画进行预设处理,包括:

17、在所述目标动画数据中,在所述角色在竖直方向到达最高点后,获取所述根骨骼在所述最高点时对应的关键帧的值,将最高点之后的关键帧的值设为所述最高点时对应的关键帧的值。

18、在一实施方式中,所述基于世界坐标系为所述角色创建几何体,将所述几何体作为所述角色在竖直方向坐标的最底部骨骼的被父子约束的子物体,包括:

19、基于世界坐标系为所述角色创建多边形对象,将所述多边形对象作为所述角色在竖直方向坐标的最底部骨骼的被父子约束的子物体。

20、在一实施方式中,所述位移动画数据以xyz坐标方式存储,其中所述世界坐标系的y轴为竖直方向,x轴和y轴为水平面。

21、本技术第二方面提供一种基于根骨骼的动画处理装置,包括:

22、绘制模块,用于绘制角色的包含根骨骼和子骨骼的原始动画数据,复制所述原始动画数据得到备份动画数据;

23、创建模块,用于基于世界坐标系为所述角色创建几何体,将所述几何体作为所述角色在竖直方向坐标的最底部骨骼的被父子约束的子物体;

24、赋值模块,用于通过为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,并将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼;

25、约束模块,用于在将备份动画数据中的子骨骼作为父物体与原始动画数据中的同一个子骨骼建立父子约束关系后,烘焙所述原始动画数据的关键帧,得到目标动画数据;

26、烘焙模块,用于对所述目标动画数据进行烘焙,得到与所述目标动画数据对应的动画。

27、在一实施方式中,所述装置还包括:

28、打平处理模块,用于在所述目标动画数据中,将受重力下落的关键帧区间的根骨骼在竖直方向上的位移动画进行预设处理;

29、所述烘焙模块在所述打平处理模块进行预设处理后,对所述目标动画数据进行烘焙。

30、在一实施方式中,所述赋值模块包括:

31、第一关键帧处理模块,用于根据所述原始动画数据为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,其中所述关键帧包括时间和每个骨骼的平移分量;

32、位移数据赋值模块,用于将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼。

33、在一实施方式中,所述打平处理模块在所述目标动画数据中,在所述角色在竖直方向到达最高点后,获取所述根骨骼在所述最高点时对应的关键帧的值,将最高点之后的关键帧的值设为所述最高点时对应的关键帧的值。

34、本技术第三方面提供一种计算设备,包括:

35、处理器;以及

36、存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

37、本技术第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器执行如上所述的方法。

38、本技术提供的技术方案可以包括以下有益效果:

39、本技术实施例示出的技术方案,基于世界坐标系为所述角色创建几何体,将所述几何体作为所述角色在竖直方向坐标的最底部骨骼的被父子约束的子物体,通过为所述子物体逐帧保存关键帧,得到所述最底部骨骼在所述世界坐标系的位移动画数据,并将所述最底部骨骼在所述世界坐标系的位移动画数据赋予所述原始动画数据中的根骨骼;另外,在将备份动画数据中的子骨骼作为父物体与原始动画数据中的同一个子骨骼建立父子约束关系后,烘焙所述原始动画数据的关键帧,得到目标动画数据。因为本技术是以新建的几何体为载体来获取角色子骨骼在世界坐标系下的动画数据,可以直接通过复制粘贴动画曲线的方式传递给根骨骼,因此可以避免矩阵转化的重复复杂计算,降低计算量,提高处理效率,也为竖直方向上(y轴)根骨骼位移动画处理提供了通用解决方案。

40、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1