反向运动学 (IK) 是一种设置动画的方法,它翻转链操纵的方向。它是从叶子而不是根开始进行工作的。
使用 IK 设置腿部动画
现在举个手臂的例子。要设置使用正向运动学的手臂的动画,可以旋转上臂使它移离肩部,然后旋转前臂,手腕以下的手部等等,为每个子对象添加旋转关键点。
要设置使用反向运动学的手臂的动画,可以移动用以定位腕部的目标。手臂的上半部分和下半部分为 IK 解决方案所旋转,使称为末端效应器的腕部轴点向着目标移动。
例如,如果是腿部的话,脚部就被目标约束到了地面。如果移动了骨盆,脚部保持固定不动,因为目标并没有移动,这将使膝部发生弯曲。整个动画都包含在目标和足部的关键帧中,而且没有将关键点应用到单独的链对象上。
用反向运动学可以快速地设置复杂的运动,并设置它的动画。基本的步骤包括三个任务:
为获得表面连续的模型,创建骨骼结构或使用 Biped 来设置角色皮肤的动画。
您可能还需要移动层次的根,并且可能要在此点上添加控制对象,比如虚拟对象或点。
可以将约束应用到目标或控制对象或链的根上。
您可以在场景中引用外部的 IK 链。外部参照 IK 链的行为与非外部参照链相同,不同之处在于,如果外部参照 IK 链位于顶级场景中,就无法重定位其外部参照控制器。有关详细信息,请参见外部参照对象。
可以将目标或末端效应器应用到点、样条线或虚拟对象上,它们用作对链的末端进行转换或旋转的快速控制。这些控制对象可以链接在一起,也可以受约束的控制。也可以使用相关联的参数以构建这些控制对象之间的关系。
也可以将控制对象与操纵器辅助对象或自定义属性关联起来,为可设置动画的模型创建便于访问的界面。
也可以添加进一步的控制以操纵链中间的元素。
正向运动学使用自上而下的方法,它在定位和旋转父对象的地方开始,然后向下进行到定位和旋转每个子对象的层次。
正向运动学的基本原则包括:
这些原则相当的宽松。只要所有对象都链接在一起并且轴位于关节位置上,那么就可以成功地设置该结构的动画。
反向运动学 (IK) 使用目标导向方法,可以用来定位目标对象,并且 3ds Max 计算链末端的位置和方向。在所有计算都完成后,层次的最终位置就称作 IK 解决方案。有许多 IK 解算器可以应用到层次上。
反向运动学开始于链接和轴点位置,并将它们作为地基,然后添加以下原则:
由于添加了这些约束,IK 需要充分考虑链接对象和放置轴的方式。有许多不同的链接对象解决方案可能适用于正向运动学,对于给定的 IK 方法通常仅仅只有几个适合的方案。
反向运动学比正向运动学更易于使用,它可以快速创建复杂的运动。如果以后需要编辑这些运动,在使用 IK 时可以非常简单地反转该动画。这也是在动画中模拟权重最好的方法。