前言:在Unity中的動畫有兩種:Animation和Animator茎毁,而在工作中Animator更常使用,Animation了解就好
一、Animation(老版動畫)
1朋截、3個類:Animation、AnimationState恶座、AnimationClip
(1)播放動畫:動畫對象.Play(動畫剪輯名);
(2)淡入淡出當(dāng)前動畫:動畫對象.CrossFade(動畫剪輯名)鲤拿;
(3)調(diào)整動畫播放的速度:
<1>動畫狀態(tài)對象=動畫對象[動畫剪輯名];
<2>動畫狀態(tài)對象.speed=設(shè)定的數(shù)值(默認(rèn)值是1)歼疮;
(4)動畫融合:將要播放的動畫跟現(xiàn)在的動畫進(jìn)行混合播放杂抽,混合程度可以通過權(quán)重來進(jìn)行調(diào)節(jié),權(quán)重是用來調(diào)節(jié)動畫的混合比例的(通過權(quán)重設(shè)置兩個動畫所占的比例韩脏,進(jìn)行融合)
<1>設(shè)置一個滑動條用來控制權(quán)重的值
//用來給權(quán)重的變量名創(chuàng)建滑動條
[Rang(最小的范圍值缩麸,最大的范圍值)]
public float 權(quán)重的變量名:
<2>動畫對象.Blend(動畫剪輯名,權(quán)重變量名);
當(dāng)前動畫的默認(rèn)權(quán)重值是1赡矢;
我們設(shè)置的權(quán)重變量是用調(diào)節(jié)將要播放的動畫剪輯的杭朱;
當(dāng)前動畫的權(quán)重:將要播放的權(quán)重=動畫混合比例
(5)播放剪輯:
2、代碼貼圖:
二济竹、Animator(新版動畫)
1.Mecanim(動畫系統(tǒng))以及State Machine(狀態(tài)機(jī))
選中一個模型>>Rig>>Animation Type:
None:無任何動畫痕檬;
Legacy:舊版Animation動畫;
Generic:一般動畫(非人型動畫)
Humanoid:人形動畫
2.人型動畫設(shè)置:
3.設(shè)置Avator:
4.設(shè)置動畫剪輯:
5.Animator組件:
6.Animator控制器:
7.狀態(tài)機(jī):
8.設(shè)置動畫狀態(tài):
9.設(shè)置過渡條件:
10.Animator類:
11.使用代碼控制狀態(tài)機(jī):
12送浊、如何給人物模型添加動畫
人物模型
(1)給每個模型匹配骨骼
選中需要匹配骨骼的模型>>Rig>>Animation Type選為Humanoid梦谜,Avatar Definition選為Copy From Other Avatar,Source選為SwatAvatar,Apply
(2)將預(yù)設(shè)體拖到場景中袭景,系統(tǒng)會自動生成一個Animator組件
(3)創(chuàng)建一個Animator Controller(動畫控制器)來控制動畫唁桩,在工程視圖里創(chuàng)建一個動畫控制器,將其拖到Animator組件上
(4)打開Animator窗口耸棒,找到資源中的動畫剪輯荒澡,用過渡線連接
(5)選中過渡線,不勾選Has ExitTime与殃,勾選的意思是當(dāng)前動畫播放完单山,再播放下一個動畫
(6)選中我們要循環(huán)的動作模型碍现,勾選右邊面板中的Animation中的Loop Time
(7)可以通過Animator窗口中的Parameters(參數(shù))作為過渡線是否過渡的條件,在Parameters中設(shè)置一個參數(shù)米奸,選中過渡線昼接,右邊面板中的Conditions(條件),滿足則過渡悴晰,不滿足則不過渡到下一個動畫剪輯
(8)如果有多條過渡線慢睡,只要有一條過渡線滿足條件,就可以過渡到下一個動畫剪輯铡溪,但那一個過渡線如果有多個條件的話漂辐,多個條件必須都滿足這條過渡線才能過渡到下一個動畫剪輯。(本來這里寫了很多的棕硫,結(jié)果出問題了髓涯,就都沒有了,重新寫的哈扮,少多了复凳,心塞=-=)
代碼貼圖: