【Maya】刚体动力学特效-基本流程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.进行动力学特效之前,首先需要分配好每个物体的基本属性:球体为高质量的主动刚体,轨道和地面为被动刚体,杠杆为较大摩擦力的主动刚体(包括支撑的轮子),方块和大球体都为低质量的主动刚体。

3.除了模拟漂浮在空中的大球体,其他物体均与重力场进行连接,被动刚体只需要设置摩擦力和弹力值。此时播放演示,会发现每个主动刚体的运动都很平均,效果达不到预想的联动碰撞。

播场景动力学动画之前,应将播放速度设置为Play every frame(涉及动力学特效,如粒子,布料,流体等都要设置为播放每一帧)

4.设置每个物体的属性如下(选择物体后,直接在右边的通道栏内设置),未提到的为Maya默认值:小球的质量Mass为100,弹力Bounciness为0.1;

杠杆的质量Mass为10,弹力Bounciness为0.1;

杠杆下的小轮的质量Mass为50,弹力Bounciness为0.1,静摩擦StaticFriction为0.5;

小方块的质量Mass为5,静摩擦StaticFriction为6;

大球体保持默认设置;

地面的弹力Bounciness为0.2,静摩擦StaticFriction为0.5;

轨道的Bounciness为0,静摩擦StaticFriction为0,DynamicFriction为0(因为该被动刚体参与的解算不多,因此关闭这些属性提高场景运算速度)

6.现在,将大球体移动到小方块的运动路线上,执行动画解算。

7.一切看起来似乎都差不多了,但大球的无限运动有点夸张,虽然我们不能在Maya中加入个空气摩擦的环境,不过可以设置Damping(阻尼)属性来模拟空气阻力。将大球的Damping设置为0.5。

8.在测试过程中,我们可以使用高速缓存来提高动画运算速度。选择任意一个刚体,执行

Solvers>MemoryCaching>Enable(在rigidSolver节点的属性编辑面板中勾选RigidSolverStates下的CacheData为同样效果)。如果在解算过程中乱晃场景,会导致解算异常,因此在一次完整的播放运算结束前,我们应避免其他耗费资源的进程和操作(例如没事别乱点鼠标……)。

如果在缓存后需要对刚体属性数值进行再调节,应先删除缓存,然后再设置数值进行解算。

需要注意的是,这个高速缓存数据是存在硬件内存中,因此要保证有大容量内存可用。在Disable禁用MemoryCaching内存缓存之前,这个动力学数据会一直存在于计算机内存当中。

9.最终效果达成后,选择主动刚体,执行Edit>Keys>BakeSimulation烘焙动力学动画为关键帧动画。一般只需要修改以下,最好是保持默认的每隔1帧取样,否则烘焙效果常常会不同。

10.此时刚体属性依然存在,我们可以全选所有刚体,执行Edit>DeleteByType>RigidBodies删除刚体属性。

11.回到正常的播放速度,例如24帧/S,结果会发现动画进行的太慢了。

按住Shift键,在时间滑块上选择所有物体的烘焙关键帧,然后点击所选区域最右边的箭头,将时间区域缩至150帧左右(基本上,都要缩为动力学解算范围的一半以下)。

12.因为动力学烘焙会很细致的将每一帧烘焙出来,所以动画曲线编辑器中会看到密密麻麻的关键点。如果你仍打算进行动画调节,可以先使用Curves>SimplifyCurve命令对动画曲线进行修整,将TimeTolerance 和ValueTolerance设置为0可以得到最接近动力学动画的效果。

【基本流程】

创建刚体-加入力场-(创建约束)-设置属性-解算缓存-动画烘焙-时间压缩

除了以上简单的属性设置,刚体特效还包括碰撞容差,约束以及自身的初始状态,这些稍后会提到。

相关文档
最新文档