Unity的动画系统

动画窗口

动画窗口(Animation Window)可以让你创建自己的动画序列或者观看导入的动画序列。动画窗口有一个时间轴,时间轴上的数字对应的是时间(例如,0:30表示0分30秒,1:15表示1分15秒)。时间轴有两种可视化模式,DopesheetCurves

  • Dopesheet模式下,可以看到时间线上每一个关键帧的GameObject及其特性。
  • Curves模式下,GameObject特性的数值变化表示成曲线,用户可以对关键帧节点进行控制,改变曲线对应的特性数值的插值方式。

开发者可以通过插入关键帧调整GameObject特性数值控制曲线节点等方式创建自己的动画序列。

 

 

动画控制器

动画控制器(Animator Controllers)可以让你组织管理GameObject的多个动画,包括动画之间的转换判定以及动画之间的切换效果Animation Transitions 控制动画之间的过渡效果。

 

Animation Transition

特性功能
Has Exit TimeExit 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:如何通过脚本控制动画?

 

 

参考资料

Unity Animator动画状态机 深入理解(一)

动画状态转移

【API】Unity5.6 Animation transitions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值