动画层尤其适用于处理运动捕捉数据。只能编辑动画中需要更改的特定点,且不能更改其他数据。
动画层可以使用运动捕捉数据来协助解决很多常见问题,包括实体穿透、手脚振动和不稳定的地板接触。还可以使用动画层来确保对象碰到场景中的特定目标。
以下步骤介绍了一个工作流示例,其中用到了动画层的运动捕捉数据,以在角色的腕部接触地面时稳住它。
使用动画层来校正或增强运动捕捉数据
本示例中介绍的场景带有两足动物骨架的运动捕捉数据。
在本示例动画中,腕部在第 27 帧时与地板接触,但手的位置出现颤抖,而且并不自然。我们希望手在第 27 帧接触地面,然后在第 27 帧至第 40 帧之间保持稳定。可以修改这些帧之间的动画以在手与地面接触后保持稳定。
本示例采用单个链 IK 解算器,但也可以使用 HumanIK 装备上的效应器来达到相同的效果。
在接下来的步骤中,将使用 IK 控制柄作为效应器来操纵腕部位置。
将在“动画层编辑器”(Animation Layer Editor)堆栈中为 IK 控制柄创建名为 AnimLayer1 的新覆盖层。
默认情况下,所有控制柄的属性将被添加到层中,包括其“IK 融合”(IK Blend)值。请参见将属性添加到动画层和从动画层移除属性。
禁用该层后即可查看原始动画,并识别希望修改的帧。尽管该层还不包含动画,但它处于“覆盖”(Override)模式,这会导致 IK 控制柄显示在一个无效的位置,除非禁用该层。
默认情况下,层在禁用后会被锁定,无法接收关键帧。可以通过在“动画层编辑器”(Animation Layer Editor)中禁用“选项 > 锁定禁用层”(Options > Lock Muted Layers)来更改此选项。在接下来的步骤中,我们将解除锁定这个新层,以使它可以接收关键帧。
这会在第 27 帧固定 IK 控制柄的位置。(另请参见在动画层上为对象设置关键帧。)
在“动画层编辑器”(Animation Layer Editor)中,注意 Stabilize_Hand 层上的绿色“交通灯”反馈。这表示该层可用于设定关键帧。
由于在第 3 步中为 IK 控制柄创建了层,因此在控制柄上设定的关键帧将被包含在该层上。由于该层处于“覆盖”(Override)模式,其动画将在取消禁用层并播放场景中的动画时覆盖运动捕捉数据。
在接下来的步骤中,将为控制柄“IK 融合”(IK blend)值设置关键帧,以使其效果(修改原始动画)融合到多个帧中。
在第 27 帧后,手将与地面接触并稳定下来。