处理层次的默认方法使用一种称之为正向运动学的技术。
这种技术采用的基本原理如下:
设置层次中对象动画的方法与设置其他动画的方法一致。启用“自动关键点”按钮在不同帧上变换层次中的对象。然而,需要了解设置层次动画的几个特殊问题。
两个对象链接到一起后,子对象相对于父对象保持自己的位置、旋转和缩放变换。这些变换从父对象的轴到子对象的轴进行测量。
例如,考虑下图中的两个长方体。较大的长方体是较小长方体的父对象。轴和长方体之间的链接表明了链接是如何工作的。链接从父对象的轴延伸并连接到子对象的轴。可以将子对象的轴视为父对象和子对象之间的关节。
父对象和子对象通过他们的轴点链接到一起。
旋转父对象将影响子对象的位置和方向。
旋转子对象不影响父对象。
链接作为一个单向的管道将父对象的变换传输到子对象。如果移动、旋转或缩放父对象,子对象将以相同的量移动、旋转或缩放。由于层次是单向的,移动、旋转或缩放子对象不会影响父对象。
总之,应用到子对象的变换同时也继承了其父对象的变换。
从父对象传递到子对象的仅有变换。使用移动、旋转或缩放设置父对象动画的同时,也设置了附加到父对象上的子树动画。
父对象修改器或创建参数的动画不会影响其派生对象。
移动根对象将移动整个层次。
父对象的旋转传递到所有子对象。
使用正向运动学时,子对象到父对象的链接不约束子对象。可以独立于父对象单独移动、旋转和缩放子对象。
移动最后一个子对象不影响层次中位于前面的对象。
移动层次中间的子对象影响其所有派生对象,但是不影响任何一个父对象。
如果希望通过移动层次中的最后一个子对象来操纵父对象,请使用反向运动学。
子对象继承父对象的变换,父对象沿着层次向上继承其祖先对象的变换,直到根节点。由于正向运动学使用这样的一种继承方式,所以必须以从上到下的方式设置层次的位置和动画。
操纵腿部层次。
考虑图中的链接人体模型。要将人体模型的右脚放到旁边的足球顶上,请执行以下步骤:
总是在运动影响的最高层级上开始变换对象,沿着层次向下处理直到最后一个子对象。
使用正向运动学可以很好地控制层次中每个对象的确切位置。然而,使用庞大而复杂的层次时,该过程可能会变得很麻烦。在这种情况下,可能需要使用反向运动学。