Skip to main content

合并动画机(Merge Animator)

merge-animator-2e0a8fa9befa866a74bdd6177cb71169.png

合并动画机(Merge Animator)组件会将提供的动画机添加到指定的虚拟形象的可播放层(Playable Layer)中。该组件能够实现只用简单拖拽就能将复杂的 AV3 小组件安装到虚拟形象上。

两个示例 使用了这个组件:拍手效果和指尖笔小组件。

适用场景

该组件应在您想将动画作为小组件的一部分并进行播放时使用。

非适用场景

该组件是在原本动画机的动画层之上添加新的动画层,而不是替换原动画层。如果您想让终端用户完全替换一个动画层,使用传统的方式在虚拟形象描述体(Avatar Descriptor)中直接替换可能会是更好的选择。

配置合并动画机

将合并动画机(Merge Animator)组件添加到您的预制件的一个对象上,将需要合并的动画机(Animator)放入 Animator to merge(合并的目标控制器) 输入框中。将 Layer Type(Layer 类型) 改为需要将该动画机的动画层添加到的虚拟形象的可播放层(Playable Layer)(比如 FX 层)。

录制动画

默认状态下,合并动画机组件会将您放入的动画机内的路径当做相对路径。这会使您更轻松地为子对象录制动画。

将一个动画机(Animator)组件添加到同一对象中,然后您可以通过动画(Animation)窗口录制动画:

merge-animator-record-974cad0a679288c8f9293609aa7e1644.png

为了方便开发,可以勾选 Delete attached animator(删除额外的动画控制器),在编译时移除上述的动画机(Animator)组件。

人型骨骼动画

调整人型骨骼的动画会略过上述的相对路径逻辑,直接应用到虚拟形象上。也就是说大多数人型有关的动画(比如 AFK 动画)会原样播放。

路径模式

路径模式(Path Mode)选项决定组件如何处理动画路径。Relative(相对路径) 模式下,所有路径相对于一个对象,通常是合并动画机(Merge Animator)组价所在对象。这能够让您制作能够随意放置在虚拟形象里各种地方的小组件,并使用动画机(Animator)组件(如上述)让录制动画更加简单。您可以通过设定 Relative Path Root(相对路径根对象) 来指定动画路径的根路径。

如果您想通过动画修改一个已经添加到虚拟形象上的对象(而且该对象不在您的对象中),可以将路径模式(Path Mode)修改为 Absolute(绝对路径)。修改后动画机(Animator)将使用绝对路径,并且不会将路径处理成相对于合并动画机(Merge Animator)组件所在对象。 这意味着你需要使用虚拟形象根对象里的动画机(Animator)录制动画。

写入默认值(Write Defaults)

默认情况下,您指定的动画机(Animator)中状态的写入默认值(Write Defaults)选项将不变。如果您想保证您的动画机中状态的写入默认值(Write Defaults)选项和虚拟形象的保持一致,请勾选 Match Avatar Write Defaults(匹配 Avatar 的 Write Defaults 设置)。开启该选项后,组件会检查虚拟形象的动画状态的写入默认值(Write Defaults)选项是否统一,如果统一,则指定的动画机会被调整至一致。如果不统一,则指定的动画机不会受到调整。

限制条件

VRC 动画机动画层控制(VRCAnimatorLayerControl)

目前来说,合并动画机只支持 VRC 动画机动画层控制(VRCAnimatorLayerControl)这一动画状态行为引用当前动画机内的动画层。 如果您打算利用此特性,则确保 Playable(可播放层) 选项与组件中的一致,然后将 Layer(动画层) 设定为动画机内的动画层索引。