前言:在Unity中的動畫有兩種:Animation和Animator,而在工作中Animator更常使用,Animation了解就好
一、Animation(老版動畫)
1、3個類:Animation、AnimationState、AnimationClip
(1)播放動畫:動畫對象.Play(動畫剪輯名);
(2)淡入淡出當前動畫:動畫對象.CrossFade(動畫剪輯名);
(3)調整動畫播放的速度:
<1>動畫狀態(tài)對象=動畫對象[動畫剪輯名];
<2>動畫狀態(tài)對象.speed=設定的數值(默認值是1);
(4)動畫融合:將要播放的動畫跟現在的動畫進行混合播放,混合程度可以通過權重來進行調節(jié),權重是用來調節(jié)動畫的混合比例的(通過權重設置兩個動畫所占的比例,進行融合)
<1>設置一個滑動條用來控制權重的值
//用來給權重的變量名創(chuàng)建滑動條
[Rang(最小的范圍值,最大的范圍值)]
public float 權重的變量名:
<2>動畫對象.Blend(動畫剪輯名,權重變量名);
當前動畫的默認權重值是1;
我們設置的權重變量是用調節(jié)將要播放的動畫剪輯的;
當前動畫的權重:將要播放的權重=動畫混合比例
(5)播放剪輯:
2、代碼貼圖:

二、Animator(新版動畫)
1.Mecanim(動畫系統(tǒng))以及State Machine(狀態(tài)機)
選中一個模型>>Rig>>Animation Type:

None:無任何動畫;
Legacy:舊版Animation動畫;
Generic:一般動畫(非人型動畫)
Humanoid:人形動畫
2.人型動畫設置:

3.設置Avator:

4.設置動畫剪輯:


5.Animator組件:

6.Animator控制器:


7.狀態(tài)機:

8.設置動畫狀態(tài):

9.設置過渡條件:

10.Animator類:

11.使用代碼控制狀態(tài)機:

12、如何給人物模型添加動畫
人物模型
(1)給每個模型匹配骨骼
選中需要匹配骨骼的模型>>Rig>>Animation Type選為Humanoid,Avatar Definition選為Copy From Other Avatar,Source選為SwatAvatar,Apply
(2)將預設體拖到場景中,系統(tǒng)會自動生成一個Animator組件
(3)創(chuàng)建一個Animator Controller(動畫控制器)來控制動畫,在工程視圖里創(chuàng)建一個動畫控制器,將其拖到Animator組件上
(4)打開Animator窗口,找到資源中的動畫剪輯,用過渡線連接
(5)選中過渡線,不勾選Has ExitTime,勾選的意思是當前動畫播放完,再播放下一個動畫
(6)選中我們要循環(huán)的動作模型,勾選右邊面板中的Animation中的Loop Time
(7)可以通過Animator窗口中的Parameters(參數)作為過渡線是否過渡的條件,在Parameters中設置一個參數,選中過渡線,右邊面板中的Conditions(條件),滿足則過渡,不滿足則不過渡到下一個動畫剪輯
(8)如果有多條過渡線,只要有一條過渡線滿足條件,就可以過渡到下一個動畫剪輯,但那一個過渡線如果有多個條件的話,多個條件必須都滿足這條過渡線才能過渡到下一個動畫剪輯。(本來這里寫了很多的,結果出問題了,就都沒有了,重新寫的,少多了,心塞=-=)
代碼貼圖:
