MCG 3 DOF 旋转弹簧控制器是允许对象在限定范围内按所有三个轴绕“父”对象旋转的物理刚体约束。该对象仍有可能超出这些限制,但超过后,将应用转动弹簧力将对象推回限制范围内。
对象可能超出旋转限制的原因有多个。例如:
- 对象的初始旋转可能会超出限制。
- 因重力产生的加速度可能太强。
- 如果父对象设置为动画,则有可能会立即加速或减速。
此控制器使用的模拟将根据上一帧的缓存更新每个帧。如果跳转到后一帧,则会自动计算居间帧。如果跳回到前一帧,则从第一帧重新计算模拟。为获得最佳结果,请确保“时间配置”对话框中的“实时”已禁用。
- 创建“父”对象,并将其移动到要受约束对象围绕其旋转的位置。如果要对受约束对象应用惯性力,则可为父对象设置动画。
- 创建“外壳”对象,然后将其移动并旋转到要受约束对象相对于父对象所处的初始姿势。仅考虑它在第一帧中的世界变换。
- 选择要约束的对象。
- 选择。
- 单击父对象。
- 单击外壳。
- 设置目标限制以及所需的任何其他设置。
- 播放或跳转到后一帧。
如果更改值或者移动父对象或外壳对象,则可能需要单击“重置模拟”。这将清除缓存并根据需要重新模拟至多达当前帧。
请注意,当力超出极限时,模拟可能会不精确。在这些情况下,可以使用 MAXScript 将隐藏的 StepsPerFrame 属性设置为大于 1 的值来提高精度,不过这会延长计算时间。
界面
-
对象参考
-
-
父对象
- 单击以选择要绕其旋转的对象。
-
外壳
- 单击以选择对象,用于定义受约束对象在第一帧的变换情况。
-
取消激活弹簧
- 启用和禁用控制器。
-
物理属性
-
-
质量
- 对象的质量。
-
重力
- 世界坐标系 Z 轴中的恒定加速度。
-
阻尼
- 逐步降低速度的因子。
-
反弹
- 恢复系数,即交互之后保留的动能比例。通常,值应介于 0.0 和 1.0 之间。值大于 1.0 会导致能量增加,不会进行物理校正,但可能会产生有趣的效果。
-
刚度
- 在对象超出限制时旋转弹簧应用的弹簧常量。
-
轴限制
- 对象每个局部轴的旋转上限和下限(度),超出限制则应用弹簧力。激活“使用轴限制”以将所有轴的范围设置为 0。