使用正向运动学设置动画

处理层次的默认方法使用一种称之为正向运动学的技术。

这种技术采用的基本原理如下:

设置层次中对象动画的方法与设置其他动画的方法一致。启用“自动关键点”按钮在不同帧上变换层次中的对象。然而,需要了解设置层次动画的几个特殊问题。

“链接”和“轴”的工作原理

两个对象链接到一起后,子对象相对于父对象保持自己的位置、旋转和缩放变换。这些变换从父对象的轴到子对象的轴进行测量。

例如,考虑下图中的两个长方体。较大的长方体是较小长方体的父对象。轴和长方体之间的链接表明了链接是如何工作的。链接从父对象的轴延伸并连接到子对象的轴。可以将子对象的轴视为父对象和子对象之间的关节。

父对象和子对象通过他们的轴点链接到一起。

旋转父对象将影响子对象的位置和方向。

旋转子对象不影响父对象。

链接作为一个单向的管道将父对象的变换传输到子对象。如果移动、旋转或缩放父对象,子对象将以相同的量移动、旋转或缩放。由于层次是单向的,移动、旋转或缩放子对象不会影响父对象。

总之,应用到子对象的变换同时也继承了其父对象的变换。

设置父对象动画

从父对象传递到子对象的仅有变换。使用移动、旋转或缩放设置父对象动画的同时,也设置了附加到父对象上的子树动画。

父对象修改器或创建参数的动画不会影响其派生对象。

移动根对象将移动整个层次。

父对象的旋转传递到所有子对象。

设置子对象动画

使用正向运动学时,子对象到父对象的链接不约束子对象。可以独立于父对象单独移动、旋转和缩放子对象。

移动最后一个子对象不影响层次中位于前面的对象。

移动层次中间的子对象影响其所有派生对象,但是不影响任何一个父对象。

如果希望通过移动层次中的最后一个子对象来操纵父对象,请使用反向运动学

操纵层次

子对象继承父对象的变换,父对象沿着层次向上继承其祖先对象的变换,直到根节点。由于正向运动学使用这样的一种继承方式,所以必须以从上到下的方式设置层次的位置和动画。

操纵腿部层次。

考虑图中的链接人体模型。要将人体模型的右脚放到旁边的足球顶上,请执行以下步骤:

  1. 旋转右大腿使整条腿位于足球之上。
  2. 旋转右胫骨使脚位于足球顶部附近。
  3. 旋转右脚使其与球顶平行。
  4. 重复步骤 1 到步骤 3 直到脚放置正确。

总是在运动影响的最高层级上开始变换对象,沿着层次向下处理直到最后一个子对象。

使用正向运动学可以很好地控制层次中每个对象的确切位置。然而,使用庞大而复杂的层次时,该过程可能会变得很麻烦。在这种情况下,可能需要使用反向运动学