System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于unity的GPU动画方法、计算机可读存储介质及终端设备技术_技高网

基于unity的GPU动画方法、计算机可读存储介质及终端设备技术

技术编号:44506786 阅读:0 留言:0更新日期:2025-03-07 13:04
本发明专利技术实施例公开了基于unity的GPU动画方法、计算机可读存储介质及终端设备;动画方法包括步骤:S1、动画开发阶段,依照时间轴将动画中的资源信息保存在贴图中;S2、动画运行阶段,根据动画的时间维度信息,动画装置的CPU计算当前动画帧的时间信息;S3、动画装置的CPU将当前动画帧的时间信息传输到动画装置的GPU;S4、动画装置的GPU根据接收到当前动画帧的时间信息,采集贴图中的资源信息,渲染得到当前动画帧。本发明专利技术实施例公开的基于unity的GPU动画方法,将动画的资源信息存储在贴图中,并将动画装置的CPU的部分计算过程交由动画装置的GPU进行,充分利用了GPU的计算能力,同时大幅度释放了CPU的计算能力,减轻了CPU的计算负载,同时使得动画的播放过程更为流畅。

【技术实现步骤摘要】

本专利技术属于计算机信息处理,具体涉及基于unity的gpu动画方法、计算机可读存储介质及终端设备。


技术介绍

1、通常,unity动画中,人物资源中有人物的骨骼信息、顶点信息、材质贴图,可以理解为分别对应于真实人身上的骨骼、蒙皮、蒙皮肤色。unity动画中人物身上大致有50个骨骼点,每个骨骼点对应于一个三维位置坐标(x,y,z),两个骨骼点形组成一个骨骼;人物外表对应有若干顶点,其中一个骨骼对应于多个顶点,即多个顶点信息与一个骨骼信息相互关联,人物的动作变化其实质就是骨骼的移动,骨骼移动中对应的顶点位置跟随发生变化,这就是unity动画的基本原理。例如,手的骨骼信息与手的多个顶点信息相关联,即手的皮肤与手的骨骼相互关联,手的移动过程中皮肤必然跟随骨骼同步移动。unity动画中,动画运行装置的cpu依据该基本原理根据骨骼位置计算出顶点信息,然后动画运行装置的cpu将顶点信息传输到动画运行装置的gpu,根据接收到的顶点信息,动画运行装置的gpu利用材质贴图进行渲染,完成一个动画动作。

2、unity动画的动画切换就是按照一样的动作逻辑,只是变成另外动画的动作。

3、unity动画的连续实现过程为:先起录制好每个动作的动画,动画播放过程中每个动作的转换通过动画切换的方式实现;但是,unity动画的动画切换过程中,将当前动画动作直接变换为下一个动画动作会显得动作变换过于生硬,视觉体验不好,为了使得动画动作切换过渡自然、平滑,改善视觉体验,需要进行动画融合。动画融合通常是指在两个动画之间增加一个一定时间的过渡,使得动画经过一定时间平滑地切换到下一个动画,这样动画动作的显示自然流畅,视觉效果感觉舒服,体验更好;一般地,增加的一定时间的过渡这样实现:动画运行装置的cpu根据两个动作的骨骼信息和设定的时间段做时间插值计算,使得在该时间段内将骨骼从一个动作平滑切换到下一个动作。例如,人物的走路和攻击两个动作,如果把走路动画直接切换到攻击动画,则走路时手在下面摆动,攻击时手瞬间就抬起来,这样的动作变化明显很生硬,给人的视觉体验很不好,所以就需要进行动画融合,在动画切换的时候增加一个过渡时间,比如从走路姿势通过一秒钟逐渐切换到攻击准备姿势,这样的视觉体验就很舒服。

4、所以,传统的unity动画中,动画的播放、动画切换动画融合等一系列计算都是由动画运行装置的cpu进行计算,导致动画运行装置的cpu计算负载过大,动画运行装置设备发热严重,动画运行效果不好。


技术实现思路

1、有鉴于此,一方面,一些实施例公开了基于unity的gpu动画方法,包括步骤:

2、s1、动画开发阶段,依照时间轴将动画的资源信息保存在贴图中;

3、s2、动画运行阶段,根据动画的时间维度信息,动画装置的cpu计算当前动画帧的时间信息;

4、s3、动画装置的cpu将当前动画帧的时间信息传输到动画装置的gpu;

5、s4、动画装置的gpu根据接收到的当前动画帧的时间信息,采集贴图中的资源信息,渲染得到当前动画帧;

6、s5、连续重复步骤s2~s4,实现动画播放。

7、进一步,一些实施例公开的基于unity的gpu动画方法,包括一个动画的实现方法,具体包括:

8、s1、动画开发阶段,依照时间轴将动画的顶点信息保存在顶点信息贴图中;

9、s2、动画运行阶段,根据动画的时间维度信息,动画装置的cpu计算当前动画帧的时间信息;

10、s3、动画装置的cpu将当前动画帧的时间信息传输到动画装置的gpu;

11、s4、动画装置的gpu根据接收到的当前动画帧的时间信息,采集顶点信息贴图中的当前动画帧的顶点信息,并利用材质贴图信息渲染当前动画帧,得到当前动画帧;

12、s5、连续重复步骤s2~s4,实现动画播放。

13、一些实施例公开的基于unity的动画方法,包括一个动画的实现方法,具体包括:

14、s1、动画开发阶段,依照时间轴将动画的骨骼信息保存在骨骼信息贴图中,并将动画的骨骼与顶点的关联信息存入骨骼关系贴图中;

15、s2、动画运行阶段,动根据动画的时间维度信息,画装置的cpu计算当前动画帧的时间信息;

16、s3、动画装置的cpu将当前动画帧的时间信息传输到动画装置的gpu;

17、s4、动画装置的gpu根据接收到的当前动画帧时间信息,采集骨骼信息贴图中的当前动画帧的骨骼信息,和骨骼关系贴图中的当前动画帧的骨骼与顶点的关联信息,然后通过shader计算顶点信息,利用材质贴图信息渲染当前动画帧,得到当前动画帧;

18、s5、连续重复步骤s2~s4,实现动画播放。

19、一些实施例公开的基于unity的动画方法,包括多个动画的连续播放方法,具体包括:

20、s1、在动画开发阶段,依照时间轴把多个动画的顶点信息保存在同一张顶点信息贴图中;

21、s2、在动画运行阶段,根据动画的时间维度信息,动画装置的cpu根据当前动画的起点偏移时间和播放时长,计算当前动画的播放位置;

22、s3、动画装置的cpu将当前动画的播放位置传输到动画装置的gpu;

23、s4、动画装置的gpu依照当前动画的播放位置和播放时长循环播放当前动画;

24、s5、连续重复步骤s2~s4,完成多个动画的连续播放;

25、其中,当前动画的播放根据基于unity的gpu动画方法的一个动画的实现方法进行。

26、一些实施例公开的基于unity的动画方法,两个动画切换时包括两个动画的融合过程,具体包括:

27、s1、在动画开发阶段,依照时间轴把两个动画的起点偏移时间、播放时长保存在同一张贴图中;

28、s2、在动画运行阶段,根据动画的时间维度信息,动画装置的cpu将把两个动画的起点偏移时间、播放时长和插值系数传输到动画装置的gpu;

29、s3、动画装置的gpu接收两个动画的起点偏移时间、播放时长和插值系数;

30、s4、动画装置的gpu先采样当前播放动画的顶点信息,然后采样要切换的动画的顶点信息,根据插值系数进行插值计算,得到融合动画的最终位置信息,然后渲染。

31、一些实施例公开的基于unity的动画方法,插值系数p的数值在0~1之间,根据播放时间计算确定;最终位置信息的插值计算公式为:

32、t1×p+t2×(1-p);

33、其中,t1为当前播放动画的顶点信息,t2为切换动画的顶点信息,p为插值系数。

34、一些实施例公开的基于unity的gpu动画方法,包括多个动画的连续播放方法,具体包括:

35、s1、在动画开发阶段,依照时间轴把多个动画的骨骼信息保存在同一个骨骼信息贴图中,骨骼与顶点的关联信息存入同一个骨骼关系贴图;

36、s2、在动画运行阶段,根据多个动画时本文档来自技高网...

【技术保护点】

1.基于unity的GPU动画方法,其特征在于,包括步骤:

2.根据权利要求1所述的基于unity的GPU动画方法,其特征在于,包括一个动画的实现方法,具体包括:

3.根据权利要求1所述的基于Unity的动画方法,其特征在于,包括一个动画的实现方法,具体包括:

4.基于Unity的GPU动画方法,其特征在于,包括多个动画的连续播放,具体包括:

5.根据权利要求4所述的基于unity的GPU动画方法,其特征在于,两个动画切换时包括两个动画的融合过程,具体包括:

6.根据权利要求5所述的基于unity的GPU动画方法,其特征在于:

7.基于unity的GPU动画方法,其特征在于,包括多个动画的连续播放方法,具体包括:

8.根据权利要求7所述的基于unity的GPU动画方法,其特征在于,两个动画切换时包括两个动画的融合过程,具体包括:

9.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被读取执行时,实现权利要求1~8任一项所述的动画方法。

>10.终端设备,其特征在于,包括存储器、CPU和GPU,所述存储器存储有计算机程序,所述CPU与所述GPU运行时,实现权利要求1~8任一项所述的动画方法。

...

【技术特征摘要】

1.基于unity的gpu动画方法,其特征在于,包括步骤:

2.根据权利要求1所述的基于unity的gpu动画方法,其特征在于,包括一个动画的实现方法,具体包括:

3.根据权利要求1所述的基于unity的动画方法,其特征在于,包括一个动画的实现方法,具体包括:

4.基于unity的gpu动画方法,其特征在于,包括多个动画的连续播放,具体包括:

5.根据权利要求4所述的基于unity的gpu动画方法,其特征在于,两个动画切换时包括两个动画的融合过程,具体包括:

6.根据权利要求5所述的基于unity的gpu动画方...

【专利技术属性】
技术研发人员:王兵王必渊
申请(专利权)人:北京闲徕互娱网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1