动画状态(Animator States)
动画状态是动画控制器层状态机中的独立状态。每个动画控制器层要么在播放单个状态,要么在两个状态之间进行过渡。
当处于某个状态时,它会播放相应的动画片段或混合树。在过渡期间,它会将两个状态的动画片段/混合树混合在一起。
有关进入/退出/任意状态以及混合的更多详细信息,可以在动画过渡页面进一步探索。
默认动画状态的检查器
动作
Motion
(动作)字段保存了状态的动画片段或混合树。你可以从项目文件夹中选择一个动画片段,或者将其拖放到动作字段中。要创建一个带有混合树的动画状态,可以 右键单击
→创建状态→从新混合树。
速度
Speed
(速度)字段设置动画片段或混合树的播放速度。可以将其更改为正值或负值,从而允许动画反向播放。可以在此处输入任何浮点数,包括0、1.5、-7.2和无限大。
勾选 Multiplier
(乘数)字段旁边的 Parameter
(参数)复选框后,你可以从当前动画控制器中输入一个浮点数参数,从而允许你将Speed
(速度)值乘以该参数的值。
动作时间
Motion Time
(动作时间)字段允许使用参数来滚动动画片段/混合树的时间。要激活它,请勾选 Motion Time
(动作时间)字段旁边的 Parameter
(参数)复选框,并从动画控制器中输入一个浮点数参数。滚动是基于动画的归一化时间进行的。
示例:对于一个5秒长的动画片段,如果 Motion Time
(动作时间)参数设置为0.6,它将播放动画片段中3秒处的帧,并保持在该帧,直到你更改 Motion Time
(动作时间)参数。
请注意,此功能会优先考虑动画片段上的 Loop Time
(循环时间)选项。因此,如果你在一个启用了 Loop Time
(循环时间)的动画片段上使用此功能,参数为1时将播放动画片段0%处的帧(即开头),而参数为1.5时将播放动画片段50%处的帧(即中间)。
写入默认值
Write Defaults
(写入默认值)字段决定了动画期间所做更改的持久性。启用时,离开动画状态后,动画字段将返回到其默认状态。禁用时,更改将保持不变。
此功能有许多意外行为,尤其是在禁用设置时。有关可能出现的故障行为以及如何防范的更多信息,请参阅写入默认值。
过渡
动画状态过渡决定了当前动画状态是保持不变还是过渡到另一个状态。
它首先检查任意状态的过渡,然后评估当前状态的传出过渡。如果找到匹配的过渡,它将播放该过渡并移动到目标状态。有关动画状态过渡的更多详细信息,请参阅动画过渡页面。
Mute
(静音)字段会禁用特定过渡,而 Solo
(独奏)字段会禁用所有其他过渡。然而,这些功能并不常用。
两个过渡的列表,一个过渡到“新状态”,另一个过渡到“其他新状态”。在这里,过渡到“新状态”将优先。
高级细节
镜像
Mirror
(镜像)字段允许你镜像状态的人形动画片段/混合树。它将左侧人形肌肉的属性应用到右侧,反之亦然。这与动画片段检查器中的 Mirror
(镜像)字段功能相同。
勾选 Mirror
(镜像)字段旁边的 Parameter
(参数)复选框后,你可以使用动画控制器中的布尔值参数。这允许通过调整参数的值来更改 Mirror
(镜像)值。
循环偏移
Cycle Offset
(循环偏移)字段设置动画循环的起始点。循环偏移为0.2意味着动画始终比通常时间提前0.2倍的动画长度。
要动态控制它,请勾选 Cycle Offset
(循环偏移)字段旁边的 Parameter
(参数)复选框。这允许从动画控制器中输入一个浮点数参数,从而通过更改参数的值来调整循环偏移。
示例:如果你将动作时间参数设置为0.5,并将 Cycle Offset
(循环偏移)设置为0.2,则播放的帧将位于动画的70%处。
它尊重动画片段的循环时间属性,因此,如果动作时间参数设置为0.9,Cycle Offset
(循环偏移)设置为0.4,则播放的帧将位于动画的30%处。
脚部IK
如果同时启用了 Foot IK
(脚部IK)切换和层的 IK Pass
(IK传递)设置,IK解算器会额外工作以确保脚部 IK 尽可能接近 IK 目标。由于 VRChat 不使用动画器组件的控制器进行 IK,因此这对 VRChat 动画器无用。
No Comments