johnsoncodehk 发表于 2022-5-7 09:06

Unity3D基础教程(二)动画,动画状态机

九 动画


[*]创建动画
勾选legecy,使用旧版动画系统邮件标签,选择debug模式

[*]动画编辑
Recording Mode
关键帧添加多个属性
十 动画曲线


[*]显示方式
Dopesheet
[*]Curves曲线
F键完全显示ctrl,shift+滚轮缩放

[*]设置曲线线性关系
右键设置Tangent


[*]曲线的编辑
关键帧操作

[*]子节点动画
父节点添加动画动画编辑页面可操作子节点

[*]动画事件
动画和脚本在同一个节点上
[*]脚本里定义一个回调函数
公有public
[*]参数限制
空,float,int,string,GameObject

动画编辑窗口Add Animation Event

[*]API及播放模式

[*]Wrap Mode动画监视器里
ping-pong来回往复播放loop...
Animation类

十一 动画状态机


[*]动画状态机
Mecanim

[*]Animator
Animator Controller

[*]状态机编辑
双击打开右键+操作

[*]状态过渡Transition
Set As Layer Default State默认状态(Entry后第一状态)Make Transiton

[*]绑定动作
添加动画绑定到dance状态

[*]添加状态参数

[*]添加Parameters
float,int,bool,trigger

[*]状态过渡条件Conditions
has exit time到了时间自动发生


[*]Exit Time
Exit Time时间
[*]Fixed Duration
勾选按秒计算不选按圈计算
过渡条件和exit time同时满足才能转化状态

[*]状态机API

[*]Animator对象
设置参数


[*]状态机行为

[*]状态机脚本继承自StateMachineBehaviour
OnStateEnter()OnstartUpdate()OnStateExit()


十二 模型动画

使用自带动画的模型
[*]状态机测试
观察状态及状态变量试验状态变量的作用参考一下控制脚本

[*]添加脚本控制
动画脚本
[*]控制脚本
根据状态变量控制


[*]更精细的控制
很据状态控制GetCurrentAnimatorStateInfo(int layer)

页: [1]
查看完整版本: Unity3D基础教程(二)动画,动画状态机