一、動畫文件的設置
- 動畫文件或者模型文件是以fbx格式存在project目錄里的;
2.模型的設置:
Model選項:Scale Factor:模型比例縮放,一般都是0.01,如果所在工程不一樣則以工程設置為主;
Rig選項:AnimationType:Legacy:老版動畫系統;如果使用Animation組件進行播放,需要將動作切換到Legacy;
Generic:通用設置;游戲中一般非人類的模型動作可以選這個;
Humanoid:新版動畫系統人類;當選擇此選項之后,會要求定義Avatar文件,動作文件可以使用其他模型的Avatar文件;
通過Avatar映射關系實現動畫的重定向;
Animation選項:
有可能這是一個完整的動畫合集,分動畫是根據幀數來分的,這個時候動畫設計師需要跟你說具體動作所對應的幀數范圍;
也有可能拿到的就是分好的動畫文件;
在剪切動畫時,需要檢查右側的燈的顏色;綠色燈代表匹配的很好,黃色燈匹配的一般,紅色燈代表沒有匹配上;(匹配是指動畫第一幀和動畫最后一幀是否匹配)
Root Transform Rotation:匹配的是綠色燈;第一幀和最后一幀方向完全一致;
Root Transform Position Y:匹配的是綠色燈;第一幀和最后一幀位置Y的值完全一致;
Root Transform Position x z:匹配時綠色燈,第一幀和最后一幀的位置 x,z是否完全一致;
二、Animator新動畫系統
- 新建Animator Controller文件
AnyState:任意狀態;常用作播放死亡狀態,不管當前角色在播放什么狀態,都可以被殺死然后播放死亡動作;
Entry/Exit:進入狀態機和退出狀態機,進入狀態機默認連接默認狀態動畫;
Idle:橙色(名字可以改),一般是默認動畫,一般播放待機動畫;
Run:一般狀態(名字可以改)
- 動畫狀態機的層和參數:
Layer:動畫狀態機中還可以嵌套一個動畫狀態機;
Paramters:狀態切換參數(int float bool trigger);
- 動畫狀態切換
Solo:動畫切換優先;
Mute:動畫切換禁止;
Has Exit time :勾選上會在切換動畫時上一動作結束后再播放下一動畫
Setting: ExitTime:動作切換上一動作退出時間;
Fixed Duration/Transtion Duration:動作切換時間長度;
Transtion offset:下一動作所在上一動作比例;(動手測試下);
Interruption sources:打斷動畫切換來源:
重要:conditions:這里面的切換動作參數是paramers里面定義的,條件可以使大於、等於、不等於、小於
- Animator組件:
Controller:AnimatorController文件;
Avatar:放骨骼文件;
Apply Root motion:如果勾選代表使用動畫中的位移;如果當前游戲物體上的代碼組件中有OnAnimatorMove內置函數,位移就受代碼控制;
Update Mode:正常更新、物理更新(FixUpdata更新)、不受時間縮放影響;
Culling Mode:
- 始終有動畫;
- 當攝像機沒有渲染該物體,就會停止部分Transform相關功能;
- 當攝像機沒有渲染該物體,整個動畫都不會被渲染;
- 代碼操作Animator
三、戰斗攻擊流程圖