一种基于运动生成maya骨骼链动态效果的方法及系统与流程
- 国知局
- 2024-07-31 23:13:06
本发明涉及计算机动画,尤其涉及一种基于运动生成maya骨骼链动态效果的方法及系统。
背景技术:
1、在三维动画制作中,衣服、头发等配件的动态表现是一个关键的技术问题。这些配件需要呈现出逼真的物理效果,才能让整个动画场景看起来自然协调,不会显得突兀。它们的运动需要受到重力、风力等外部力量的影响,才能达到理想的效果。
2、然而,在现有技术中,maya提供的hair工具虽然能够模拟出飘逸自然的头发效果,但在使用过程中确实存在一些问题:制作流程相对复杂,需要在绑定文件上添加物理解算节点,增加了制作难度;无法很好地处理前后循环的问题,需要手动干预调整;当人物运动幅度和速度变化较大时,很难调整出合适的效果。
3、因此,寻找一种既能够无需动力学设置,又能够生成飘逸自然的物理效果的骨骼链生成方法,是本领域技术人员亟待解决的技术问题。
技术实现思路
1、有鉴于此,本发明提出了一种基于运动生成maya骨骼链动态效果的方法及系统,其能够在动力学骨骼链的世界矩阵基础上进行非整帧延迟和模拟重力的操作,确保了骨骼链的连续性和自然性,生成了具有逼真动力学特性的maya骨骼链动态效果。
2、本发明的技术方案是这样实现的:
3、一方面,本发明提供了一种基于运动生成maya骨骼链动态效果的方法,包括以下步骤:
4、s1、获取控制器链条以及控制器链条的动画序列;
5、s2、根据所述控制器链条通过映射创建若干动力学骨骼,所述若干动力学骨骼形成动力学骨骼链;
6、s3、获取所述控制器链条需要解算时间段的世界矩阵,并进行处理得到所述动力学骨骼的世界矩阵;
7、s4、根据所述动力学骨骼的世界矩阵对所述动力学骨骼链进行非整帧延迟和模拟重力,得到动力学骨骼链的动态矩阵;
8、s5、判断是否进行循环,并对所述动力学骨骼链的动态矩阵进行瞄准和校准,得到maya骨骼链动态效果;
9、s6、将所述maya骨骼链动态效果拷贝给控制器链条,得到具有动态效果的控制器链条动画序列。
10、在以上技术方案的基础上,优选的,s4具体包括:
11、s41、获取所述动力学骨骼链的长度和每根骨骼到第一根骨骼的长度,确定每根骨骼在动力学骨骼链的比例;
12、s42、设置柔软度参数,根据柔软度参数和曲线插值算法确定长度比例序列;
13、s43、根据所述柔软参数和长度比例序列确定延迟权重;
14、s44、根据所述动力学骨骼链的长度和延迟权重确定每根骨骼的下降量,根据所述下降量对动力学骨骼链进行模拟重力,得到动力学骨骼链的动态矩阵。
15、在以上技术方案的基础上,优选的,步骤s42具体步骤:
16、s421、设置柔软度参数;
17、s422、根据动力学骨骼链的长度,确定曲线的控制点;
18、s423、使用曲线插值算法计算曲线上每个点的位置;
19、s424、将所述曲线上每个点的位置转换为相对于整个骨骼链长度的比例值,形成长度比例序列。
20、在以上技术方案的基础上,优选的,所述延迟权重的计算公式如下:
21、wi=s*lri
22、其中,s表示柔软度参数,lri表示第i个动力学骨骼的长度比例序列。
23、在以上技术方案的基础上,优选的,步骤s44具体包括:
24、s441、根据所述延迟权重确定当前帧的动画帧,并根据动画帧确定当前帧的动态矩阵;
25、s442、根据所述延迟权重和动力学骨骼链的长度确定每根骨骼的下降量;
26、s443、根据所述每根骨骼的下降量更新所述当前帧的动态矩阵;
27、s444、重复步骤s441-s443直至完成整个骨骼链的重力模拟,得到动力学骨骼链的动态矩阵。
28、在以上技术方案的基础上,优选的,步骤s5具体包括:
29、s51、设置循环帧数,根据所述循环帧数判断是否需要循环动画,若需要,则进行下一步;
30、s52、根据所述动力学骨骼链的骨骼世界矩阵序列进行循环动画,得到更新后的骨骼世界变换矩阵序列;;
31、s53、对所述更新后的骨骼世界变换矩阵序列进行瞄准和重构矩阵,并进行矩阵合成,得到maya骨骼链动态效果。
32、在以上技术方案的基础上,优选的,步骤s52具体包括:
33、根据循环帧数参数计算过渡权重;
34、将动力学骨骼链最后一帧的骨骼世界矩阵序列复制给第0帧的骨骼世界矩阵序列;
35、使用过渡权重对动力学骨骼的初始矩阵和动态矩阵进行线性插值,得到过渡矩阵;
36、将过渡矩阵赋值给动态矩阵,得到更新后的骨骼世界变换矩阵序列。
37、更进一步优选的,步骤s53具体包括:
38、对每根动力学骨骼链进行矩阵重构,计算动力学骨骼链中每个骨骼x轴向量,使每个骨骼x轴向量朝向下一个骨骼的位置;
39、从动态矩阵中提取y轴向量,作为当前骨骼的y轴向量;
40、计算当前骨骼的临时矩阵,从临时矩阵中提取位移部分与x轴向量和y轴向量合成新的动态矩阵;
41、将新的动态矩阵替换原来的动态矩阵,得到maya骨骼链动态效果。
42、在以上技术方案的基础上,优选的,步骤s2具体包括:
43、s21、根据控制器链条的层级结构创建动力学骨骼链;
44、s22、记录所述动力学骨骼链和控制器链条的矩阵偏移。
45、另一方面,本发明提供了一种基于运动生成maya骨骼链动态效果的系统,采用如上述所述的方法,包括:
46、动力学骨骼链建立模块,其配置为获取控制器链条以及控制器链条的动画序列,根据所述控制器链条通过复制和映射创建若干动力学骨骼,所述若干动力学骨骼形成动力学骨骼链;
47、处理模块,其配置为获取所述控制器链条的世界矩阵,并进行处理得到所述动力学骨骼链的世界矩阵;
48、重力模拟模块,其配置为根据所述动力学骨骼链的世界矩阵对所述动力学骨骼链进行非整帧延迟和模拟重力,得到动力学骨骼链的动态矩阵;
49、动态效果模块,其配置为判断是否进行循环,并对所述动力学骨骼链的动态矩阵进行瞄准和校准,得到maya骨骼链动态效果;
50、动画生成模块,其配置为将所述maya骨骼链动态效果拷贝给控制器链条,得到具有动态效果的控制器链条动画序列。
51、本发明的方法相对于现有技术具有以下有益效果:
52、(1)通过控制器链条创建动力学骨骼链,并对控制器链条世界矩阵进行处理,得到了动力学骨骼链的世界矩阵,在动力学骨骼链的世界矩阵基础上进行非整帧延迟和模拟重力的操作,生成了具有逼真动力学特性的maya骨骼链动态效果,确保了骨骼链的连续性和自然性,提高了动画的真实性和流畅性;
53、(2)通过对动力学骨骼链的几何特性和柔韧性进行分析和建模,实现了对整个链条运动的精细控制和仿真,并根据动力学骨骼链的长度和延迟权重对动力学骨骼链进行模拟重力,进一步增强了运动的真实性和动态性。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196484.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。