Unity3D :动画层

Unity3D :动画层
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

动画层

Unity 使用__动画层__来管理不同身体部位的复杂状态机。相应的示例为,您有一个用于行走/跳跃的下身层,还有一个用于投掷物体/射击的上身层。

您可以从 Animator Controller 左上角的 __Layers 小部件__管理动画层。

单击窗口右侧的齿轮可显示该层的设置。

在每个图层上,可以指定蒙版和混合类型。蒙版指定要应用动画的身体部位。“混合”类型指定如何应用动画。

  • 选择“覆盖”以使用此图层上的动画,替换先前图层上的动画。
  • 选择“附加”以将此图层上的动画添加到先前图层的动画之上。
    要使添加剂混合成功,添加剂图层上的动画必须包含与先前图层相同的属性。

通过按微件上方的 + 添加新图层。

Mask 属性用于指定此图层上使用的掩码。例如,如果您想只在模型的上半身播放投掷动画,同时让您的角色也能行走、奔跑或站立不动,则可以在播放定义上半身部分的投掷动画的图层上使用蒙版,如下所示:

Layers 侧边栏中显示“M”符号,表示该层已应用遮罩。

动画层同步

有时,能够在不同层中复用同一状态机是很有用的。例如,如果想要模拟“受伤”行为,并生成“受伤”状态下的行走/奔跑/跳跃动画,而不是“健康”状态下的动画,您可以单击其中一个层上的 Sync 复选框,然后选择要同步的层。随后状态机的结构便会相同,但状态使用的实际动画剪辑不同。

这意味着同步的层根本没有自己的状态机定义,而是同步层状态机的一个实例。在同步层视图中对状态机的布局或结构所做的任何更改(例如,添加/删除状态或过渡)都是针对同步层的源进行的。同步层的唯一独特更改是每个状态内使用的选定动画。

通过 Timing 复选框,Animator 可调整同步层中每个动画所需的时间(由权重决定)。如果取消选中 Timing,则会调整同步层上的动画。该调整会将动画的长度拉伸到与原始层上的一致。如果选中该选项,则动画长度将在两个动画之间平衡(基于权重)。在两种情况下(选中和不选中),Animator 都将调整动画的长度。如果不选中,则原始层将是唯一母版。如果选中,则采用折中方案。

在此视图中,疲劳层与基础层同步。 状态机结构与基础层相同,并且在每个状态内使用的各个动画将交换为不同但合适的等效动画。
在此视图中,“疲劳”层与基础层同步。状态机结构与基础层相同,并且在每个状态内使用的各个动画将交换为不同但合适的等效动画。

Layers 侧边栏中显示“S”符号,表示该层是同步层。

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :子状态机 (mvrlink.com)

下一篇:Unity3D :Solo 和 Mute 功能 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号