一种基于插值算法控制的骨骼动画混合方法及系统
- 国知局
- 2024-08-05 11:58:39
本发明涉及骨骼动画切换,具体涉及一种基于插值算法控制的骨骼动画混合方法及系统。
背景技术:
1、角色动画是计算机动画技术的一个重要组成部分,也是计算机图形学的一个重要分支。角色动画在离线渲染环境下和实时渲染环境下都得到了广泛的应用。在离线渲染环境下,主要应用范围是动画制作、电影制作以及各类广告制作。这类应用的一个重要特征是数据量大、渲染工作量大,因此必须预制作、渲染,然后将结果保存成视频文件。在实时渲染环境下,主要应用于虚拟现实、视频游戏,甚至是建模软件、动画制作软件。现在,随着带有硬件加速功能的显卡的进入消费级市场,实时渲染的角色动画技术得到了广泛的应用。目前,实时角色动画技术大体可分为三种类型,第一类是关节动画、第二类是关键帧动画、第三类是骨骼动画。
2、其中,骨骼动画可以看作是关节动画和关键帧动画的结合,其同时兼有关节动画的灵活和关键帧动画的逼真。
3、骨骼动画(skeletal animation)又叫bone animation,它与关键帧动画(key-frameanimation)相比,占用空间小,因为它不需要像关键帧动画那样在每一帧中存储各个顶点的数据,而只需要存储骨骼变换数据,骨骼与顶点相比,当然要少得多。所以骨骼动画有很多优势,当然其技术难度也很高。骨骼动画在计算机图形学中是一个十分重要的内容,不管是在游戏、电影动画还是虚拟现实中,生动逼真的角色动画(人、动物等)会使其增色不少。骨骼动画的实现思路是从人的身体的运动方式而来的。动画模型的身体是一个网格(mesh)模型,网格的内部是一个骨架结构。当人物的骨架运动时,身体就会跟着骨架一起运动。骨架是由一定数目的骨骼组成的层次结构,每一个骨骼的排列和连接关系对整个骨架的运动有很重要的影响。每一个骨骼数据都包含其自身的动画数据。和每个骨架相关联的是一个“蒙皮”(skin)模型,它提供动画绘制所需要的几何模型信息(vertex信息,normal信息等)和纹理材质信息。每个顶点都有相应的一组权值(weight),这些权值定义了骨骼的运动对有关顶点的影响因子。当把动画人物的姿势和全局运动信息作用到骨架上时,这个“蒙皮”模型就会跟随骨架一起运动。
4、在骨骼动画中,如何实现骨骼动画的切换尤为重要。现有技术是运用动作捕捉完成短时间内骨骼动画的切换或以有限状态机fsm(finite-state machine)完成骨骼动画的切换,以上两种现有的切换方法具有有限数量的状态,任意时刻都处于有限状态集合中的某一状态。当存在事件(event)或条件发生时,将从当前状态转换到另一个状态,或者仍然保持在当前状态。其编程快速简单且易于调试,并具有较少的计算开销。
5、但是上述两种切换方法因其有限数量的状态使得骨骼动画在衔接与切换过程中的过渡效果仍不够理想,从而导致骨骼动画的流畅度不佳。另外,一旦骨骼动画出现新的逻辑,意味着需要新的状态,而有限数量的状态则不利于拓展。
技术实现思路
1、为了克服现有技术的不足,本发明提供一种基于插值算法控制的骨骼动画混合方法及系统,用于解决现有的骨骼动画切换方法过渡效果不理想,并且不利于拓展的技术问题,从而达到通过优化骨骼动画的混合方式,优化骨骼动画的过渡效果,并且实现更具扩展性的混合调整的目的。
2、为解决上述问题,本发明所采用的技术方案如下:
3、一种基于插值算法控制的骨骼动画混合方法,包括以下步骤:
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、(1)本发明针对骨骼动画使用双变量混合树形式结合插值算法,从而提高了骨骼动画衔接与切换过程中的过渡效果,使参数的输入与双变量进行一对一映射,其中使用插值算法控制参数的变化,并映射至双变量混合树对动画的过渡进行干涉,从而在有限状态机fsm的基础上加入上述方法去优化骨骼动画的混合方式,实现更具扩展性的混合调整;
43、(2)本发明在有限状态机fsm提供状态和状态转换的框架上引入双变量混合树结构,采用了双变量混合树结构来管理骨骼动画状态和混合操作,并通过插值算法控制参数输入映射到双变量中,相对应的可以根据参数的变化来调整骨骼动画的混合状态,从而实现更加精确和灵活的控制;
44、(3)本发明根据参数控制骨骼动画切换时的过渡达到所需效果,其中过渡包含着动画的混合,参数控制混合方式能够间接控制过渡,因此本发明通过插值算法配合双变量混合树的形式,在有限状态机架构基础上改进了现有的骨骼动画混合方法,以此增强骨骼动画资源的复用性与可调节性。
45、下面结合附图和具体实施方式对本发明作进一步详细说明。
本文地址:https://www.jishuxx.com/zhuanli/20240802/260414.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。