
在 3ds Max 中限制继承旋转而不破坏层次结构
当你在3ds Max 2025中处理层次结构时,特别是rigs或带有Look At Constraint类型控制器的系统,最常见的挑战之一是避免子对象接收你不想要的旋转。也就是说,你希望父对象能够在XYZ上进行完整的旋转,但子对象只在例如Z轴上旋转,而不受X和Y轴继承旋转的影响。这不是任性:这是精细且必要的rigging。
使用中间辅助对象和旋转控制器的高效解决方案
首先:3ds Max的设计是父对象向子对象继承变换。但确实有优雅的方法来过滤只想要的部分。最有效的方法是使用一个中间Dummy,并通过Euler XYZ Controller结合特定约束来控制旋转。
以下是整理的步骤:
- 创建中间 Dummy:位于父对象和子对象之间。dummy链接到父对象,原始对象链接到dummy。这样你就可以过滤继承。
- 选择子对象:转到Motion > Assign Controller面板。
- 单击旋转控制器:并为其分配一个Euler XYZ,如果它还没有的话。
在Euler中右键单击X轴和Y轴,并将它们替换为Zero Controller或一个保持值为 0 的Float Script Controller。只让Z轴保持活跃,其旋转值自由或可动画化。这样,即使父对象由于Look At Constraint而在三个轴上旋转,子对象也会保持不动,忠实于其Z轴。
使用 List Controllers 和限制旋转的替代方案
另一个更高级但灵活的选项是使用Rotation List Controller:
- 选择子对象:并分配一个Rotation List。
- 第一个槽位:可以是继承父对象旋转的那个。
- 第二个槽位:分配一个只有Z轴活跃的Euler XYZ。
使用权重或混合值(Layer Controllers)来锁定不需要的轴。
Lock UI 与真正的控制 rigging
不要只依赖界面锁(Link Info > Locks),因为它不会防止动画继承旋转。只会阻塞手动编辑。对于严肃的动画或生产中的rigs,始终使用上面提到的特定控制器。
人们会认为自由旋转是好的……直到你的角色转头时,它的帽子在错误的轴上做了一个奥运级的翻滚。在 3D 中,有时限制就是解放。特别是如果你不想角色的帽子最终指向木星。