U3L18-1——3D动画的使用
U3L18-1——3D动画的使用
使用导入的3D动画
- 将模型拖入场景中
- 为模型对象添加Animator脚本
- 为其撞见Animator Controller动画控制器(状态机)
- 将想要使用的相关动作 拖入Animator Controller动画控制器(状态机)窗口
- 在Animator Controller动画控制器(状态机)窗口编辑动画关系(使用之前学习的状态机相关知识)
- 代码控制状态切换(和状态机的代码控制内容差不多)
注意点
- Has Exit Time 是否启用 如果希望瞬间切换动画不需过多等待,取消该选项
- Can Transition To self 是否启用 如果希望自己不要打断自己,取消该选项
状态设置相关参数
我们可以选中状态机窗口中的 某一个状态 为其设置相关参数
我们可以称之为动画状态设置
主要设置的是 当前状态的播放速度等等细节

- Motion:分配给此状态的动画剪辑
- Speed:动画的默认速度
- Multiplier:控制速度的乘数
如果要使用需要勾选的Parameter选中配合的参数float类型 - Motion Time:运动的时间
如果要使用需要勾选的Parameter选中配合的参数float类型 - Mirror:是否为状态生成镜像,仅适用于人形动画
如果要配合参数使用选中旁边的Parameter关联参数,参数是bool类型 - Cycle Offset:循环偏移时间
如果要配合参数使用选中旁边的Parameter关联参数,参数是float类型 - Foot IK:是否遵循Foot IK,适用于人形人形动画
- Write Defaults:AnimatorStates 是否为其运动执行未动画化的属性写回默认值。默认勾选即可
- Solo:仅播放该过渡
若该动画同时满足两个变化条件,则只转变到勾选solo的动画 - Mute:禁用过渡,该动画即使条件满足也不能转到对应的动画
- Solo和Mute如果一起选择,Mute优先执行
- Add Behaviour:添加状态机行为脚本,之后会专门讲解
连线设置相关参数
我们可以选中状态机窗口中的某一条箭头为其设置相关参数
我们可以称之为动画过渡设置
主要设置的是 从一个状态切换到另一个状态时 的表现效果和切换条件
动作和动作之间的连线

-
可以在这里为动画过渡改名
如果不改,对应的名字就是 "某一状态名"->"某一状态名" -
Has Exit Time:是否有退出时间
如果勾选,当切换动画时,动画一定是播放到下方的Exit Time(百分比)的时间时才过渡到下一个动画如果希望瞬间切换动画不需过多等待,取消该选项
-
Exit Time:退出时间,当选择上方的Has Exit Time时,该值决定了过渡生效的确切时间。
该值可以大于1,如果小于1,比如0.85,表示当动画播放到了85%的动画时,就会过渡。
如果大于1,比如4.5,那么动画将循环4.5次后过渡到下一个动画 -
Fixed Duration:选中后,下方的Trnaition Duration过渡持续时间将以秒为单位解读过渡时间,如果不选中,则以百分比解读过渡时间
-
Transition Duration(s/%):过渡持续时间,相当于从该状态切换到下一状态的过渡动画持续的时间,对应下方两个蓝色箭头包裹区域
-
Transition Offset:过渡到目标状态的起始播放的时间偏移。
如果是0则从目标状态开头开始播放,
如果是0.5则从目标状态的一半开始播放
可以理解为切入下一个状态的切入点 -
Interruption Source:该过渡中断的情况
- None:不在添加任何过渡
- Current State:将当前状态过渡排队
- Next State:使下一个状态的过渡进行排队
- Current State Then Next State:
将当前状态的过渡和下一个状态的过渡都依次排队 - Next State Thne Current State:
将下一状态的过渡和当前状态的过渡依次排队
-
Ordered Interruption:当前过渡是否可在不考虑顺序的情况下被其它过渡中断
选中时,找到有效过渡或当前过渡时,会中断
不选中时,找到有效过渡,会中断 -
Conditions:过渡条件
如果没有过渡条件,只会考虑Exit Time
Any State和动作的连线
Any State就是任意状态,当满足条件时,可以从任意状态转到对应的动画,可以用于诸如死亡这样的动画

-
Can Transition To self:是否可以过渡到自己
可能会导致自己过渡到自己,导致异常抖动,经常会关闭这个如果希望自己不要打断自己,取消该选项
-
Preview source state:预览各种过渡状态
可以查看从任意状态切换到当前状态的过渡效果
