對於一個游戲/應用來說,動畫是不可或缺的成分,對用戶的使用體驗有很大影響.
Unity3D中Animator組件具有對動畫按需求進行相應處理的功能.
相關的一些API可以去Unity官網看看:
https://docs.unity3d.com/ScriptReference/Animator.html
以下為小編(編程萌新)入門級別的個人研究.(大神請繞路)
Animator組件:
一.從創建動畫開始
在unity的Hierarchy層級窗口下選擇需要做動畫的對象,
按快捷鍵"Ctrl+6",彈出Animation動畫制作窗口
點擊creat創建動畫並保存在合適的位置
關閉如上窗口,重新Ctrl+6打開,點擊AddProperty后面出現可以操作的選項:
一般情況下我們只做一些Transform類的簡單動畫,比如位移,旋轉,縮放;產生的動畫切片會保存在相應的文件夾里
二.實現動畫的動態切換
然后找到Animator控制器文件:
(看,它是這個樣子的東東)
雙擊它
會在場景視圖出現一個新的視圖
(以上案例為一個完整人物動畫狀態系列)
點擊切片之間的白色連線,得到右側的窗口信息
其中的判斷條件可以在左側自定義:
如上圖片中的七個參數(IsRun,Attack等),都是自行設定的參數,通過點擊小加號,可以進行創建,初始值可以根據自己需要進行設定
動畫切換可以用代碼改變參數值來實現動態控制;
相應的API如下:
1.Float類型--> SetFloat("參數名",float類型參數值); 例子:
2.Int類型--> SetInteger("參數名",int類型參數值);
3.bool類型--> SetBool("參數名",bool值);
4.Trigger類型--> SetTrigger("參數名");
注:Float類型和Int類型的參數值在白線的條件設置時可以選擇大於/小於某一值的時候,進行動畫切換,
而Trigger則是直接觸發切換即可
暫時先講這么多,以后研究更加深入的時候會對此進行追加或修改.
PS:動畫切換一般都搭配有狀態機, 使用狀態機可以讓人物的當前狀態下應該做的事情,條理更加清晰;