动画窗口
动画窗口(Animation Window)可以让你创建自己的动画序列或者观看导入的动画序列。动画窗口有一个时间轴,时间轴上的数字对应的是时间(例如,0:30表示0分30秒,1:15表示1分15秒)。时间轴有两种可视化模式,Dopesheet和Curves。
- Dopesheet模式下,可以看到时间线上每一个关键帧的GameObject及其特性。
- Curves模式下,GameObject特性的数值变化表示成曲线,用户可以对关键帧节点进行控制,改变曲线对应的特性数值的插值方式。
开发者可以通过插入关键帧、调整GameObject特性数值、控制曲线节点等方式创建自己的动画序列。
动画控制器
动画控制器(Animator Controllers)可以让你组织管理GameObject的多个动画,包括动画之间的转换判定以及动画之间的切换效果。Animation Transitions 控制动画之间的过渡效果。
特性 | 功能 |
---|---|
Has Exit Time | Exit Time用动画状态的标准化时间表示,勾选该项会使动画转换在特定的动画时间点(状态退出时间点)生效。 |
Settings | 展开下列的转换设置。 |
Exit Time | 当Has Exit Time被勾选时生效,这个值表示转换发生的准确时间,该值用标准化时间表示。对于循环播放的动画而言,当该值小于1时,每个循环会执行一遍;当该值大于1时,在若干次循环后该转换会被执行,比如当取值为3.5时,会在3次半循环后执行一次该动画转换。 |
Fixed Duration | 如果该项被勾选,则动画转换的时间用秒表示,否则转换的时间是源动画状态的标准化时间的比例值。 |
Transition Duration | 动画转换的持续时间,在可视化图中表现为两个动画状态的蓝色重叠的部分。 |
Transition Offset | 目标动画状态开始播放的偏移量,比如,取值为0.5时表示目标状态从自身时间线的50%的时间点开始播放。 |
Interruption Source | 该选项用于控制动画转换会被中断的情况。 |
Ordered Interruption | 设定可中断该动画转换的其它动画转换的次序。 |
Conditions | 一个动画转换可以没有、有一个或多个转换条件。若动画转换无转换条件,Unity编辑器会使用Exit Time,当源动画状态到达Exit Time时动画转换开始执行;若动画转换有一个或多个转换条件,在动画转换被触发前,所有的条件都必须满足。 如果动画转换勾选了Has Exit Time并具有一个或以上的转换条件,Unity编辑器会在动画状态到达Exit Time后检查条件是否被满足,这个机制可以使得动画转换在动画状态播放到一个时间点后才开始进行。 |
Question:如何通过脚本控制动画?