转换(Transitions)
转换为状态机提供了要遵循的逻辑地图。转换有许多需要考虑的因素和可配置的属性,我们将在下面介绍。注意,我们也会简要讨论输入,所以请务必在这里阅读更多相关内容。
创建新转换(Creating a New Transition)
要创建转换,将鼠标放在您想要离开的状态附近,直到看到椭圆出现。点击并拖动椭圆到您想要转换到的状态。一旦您连接了两个状态,您会看到一 个带有箭头图标的椭圆,指示转换的方向。
创建转换
注意,您可以在两个状态之间创建多个转换。每个转换可以要求满足不同的条件才能触发,从而让您能够创建"或"条件。
创建"或"转换
配置转换(Configuring a Transition)
添加转换后,选择方向指示器就可以配置转换。转换面板有三个不同的部分:转换属性、条件和插值。
转换属性(Transition Properties)
转换属性允许您自定义转换的发生方式。
转换属性
持续时间(Duration)
持续时间属性描述了转换发生需要多长时间。
默认情况下,持续时间设置为零,这意味着转换立即发生。因此,当我们在这两个动画之间转换时,对象看起来像是从画板的一侧瞬间跳到另一侧。
持续时间为 0 毫秒
如果我们增加持续时间,您会注意到数值越高,转换所需时间越长。
持续时间为 500 毫秒
从某种意义上说,转换就像它们自己的动画。起始属性(来自状态机正在离开的状态)将插值到结束属性(状态机要去的状态的起始属性)。如果起始属性是时间轴上的第一个关键帧,结束属性是第二个关键帧,那么持续时间就是这两个关键帧之间的时间。转换比这要复杂得多,但这样思考转换将帮助您诊断状态机的问题。
转换上的插值
就像时间轴上的关键帧一样,我们可以更改插值,我们将在下面详细讨论。
退出时间(Exit Time)
退出时间告诉状态机在转换之前必须播放多少状态。
默认情况下,退出时间是未选中的。如果您想启用退出时间,请使用复选框。启用设置后,您可以使用时间值或百分比。
使用退出时间
例如,如果您想让状态机在转换之前播放整个动画,您可以输入动画的持续时间,或使用 100%。
退出时暂停(Pause When Exiting)
退出时暂停选项在转换期间暂停您正在离开的动画。
退出时暂停
正如我们在持续时间部分讨论的,当转换发生时,第一个状态的属性与下一个状态的第一个关键帧混合。实际上,当转换发生时,您的状态机离开的动画会继续播放。
条件(Conditions)
条件是我们转换的规则。没有条件,我们的转换会持续触发,我们的状态机可能看起来要么有故障,要么只播放一个动画。条件要求我们定义一些输入,您可以在这里阅读更多相关内容。
条件
添加新条件(Adding a New Condition)
要向转换添加新条件,点击条件部分旁边的加号按钮。
添加新条件
每个新条件都提供一个下拉菜单,显示您添加到状态机的所有 输入。配置选项会根据您选择的输入类型而不同。
注意,您可以向单个转换添加多个条件来创建"与"转换。
配置布尔值
当您配置布尔值时,您可以决定转换是在该布尔值为真还是为假时发生。
配置布尔值
配置数值
当您配置数值输入时,您可以告诉转换在发生特定的数值条件时发生,比如等于特定数值,大于或小于特定数值。
配置数值输入
配置触发器
当您向转换添加触发器输入时,您是在告诉转换在该触发器发生时触发。
配置触发器
插值(Interpolation)
您可以在转换面板底部为转换添加插值。默认情况下,插值设置为线性,但您可以使用三次曲线和保持插值。
注意,状态之间的插值在转换持续时间较长时最有效。
如果您不熟悉插值的基础知识,请阅读更多关于插值(缓动)的内容。