3ds Max中的正向运动和反向运动
在3ds Max中,正向运动和反向运动通常是通过层次链接实现的。分层链接可以将一个对象与另一个对象链接起来。当其中一个对象被变换时,链接的对象将相应地移动。
什么是正向运动
向前运动意味着父对象控制子对象的运动,但是子对象的运动对父对象没有影响。当父对象移动时,子对象随父对象一起移动,而当子对象以自己的方式移动时,父对象完全不受影响。比如田径比赛中的铁饼运动,如果将人体设为父对象,手臂设为下一个子对象,手里的铁饼设为下一个子对象。然后在掷出铁饼的瞬间,身体的高速旋转带动手臂的运动,手臂的运动促使铁饼沿着圆周旋转的切线方向被抛出。此时,作为父母的身体影响作为孩子的手臂,作为孩子的手臂影响作为下一个孩子的铁饼。反之,铁饼的运动不会影响手臂,手臂的运动也不会影响身体。这就构成了一个前向运动系统。在3ds Max中,向前运动是系统级别的默认管理模式。
当两个对象链接形成正向运动系统时,子对象的位置、旋转、缩放和其他变换将取决于其父对象的相对运动。同时,由父对象和子对象组成的正向运动系统的变换中心是父对象的变换轴。
在前向运动系统中,如果父对象被移动、旋转或缩放,子对象将被变换相同的量。如果子对象被移动、旋转或缩放,父对象将根本不会改变。例如,将边长为40的立方体定义为半径为15的球体的父对象,如图所示。当立方体移动时,球体以相同的参数移动。相反,当球体移动时,立方体没有变化。当立方体放大150%时,球体以相同的参数放大。当球体放大150%时,立方体没有变化。
当使用向前运动进行动画设计时,通常遵循从上到下的顺序。基本方法是:首先,根据系统的构件结构和构件之间的联动关系,确定构件的层次关系。然后完成每个组件的建模,确定每个组件的初始位置。使用链接工具设置每个组件的链接关系,并根据需要调整正向运动系统的轴。
前向运动在处理主被动关系上比较灵活,可以创建各种前向运动动画,如机械联动、行星运动等。然而,在创建复杂的高级角色动画时,它将是不够的。因此,有必要求助于反向运动系统。
认识反向运动学
逆运动学是通过子对象来控制父对象的运动,可以设置每个对象的运动范围,使父对象在跟随子对象时不会超出设置的范围。例如,上拉,如果您将人体设置为父对象,手臂设置为下一个子对象,而水平条设置为下一个子对象。此时,身体不能对下一级子对象的手臂有任何影响,但反过来,手臂的运动对身体的影响很大,比如手臂的弯曲使身体向上运动。但是,作为水平条的父对象,手臂对水平条的子对象没有影响。在整个运动过程中,父对象不能影响子对象,但子对象可以影响父对象,构成反向运动。3ds Max提供了一套完整的反向运动系统。使用该系统,只要移动对象层次结构中的一个对象,就可以移动整个层次结构。
创建角色动画时,使用反向运动系统(IK)可以轻松控制关节并创建复杂的反向运动动画。此外,通常还可以将逆运动学系统(IK)与骨骼系统相结合,从而方便地创建具有灵活复杂层次关系的图形、动物或机械结构。
逆向运动的动画设计主要集中在环节参数的设置上,这也是逆向运动的难点。设定反向运动的环节参数需要大量的物理、数学等专业知识。并清楚了解运动的限制条件(如阻尼和摩擦对运动物体的影响形式和大小)。但是,一旦设置了反向运动的参数,动画建模的设计就特别简单方便。此时,您只需要指定运动中的每个关节,将其放置在相应的位置,然后移动到下一帧,以确定此时每个关节的位置。系统会在这些关键帧之间进行插值,计算出各个层次物体的位置,并自动生成中间帧,从而完成一个连贯的动画过程。