在Unity中我們一般要通過要通Animator類調用類中相應的觸發方法,這樣做的前提是必須要在動畫屬性面板中把這動畫設置相應的觸發條件(比如設置動畫的觸發條件爲布爾值觸發、數值觸發等等),可以說是有點麻煩!
下面新的一種動畫觸發方法即將到來,也就是通過AnimationClip類進行動畫的觸發。(而且注意這種方法不用設置相應的動畫觸發條件,可以直接觸發相應的動畫)
代碼如下:
//通過AnimationClip類來設置動畫屬性,以方便在Unity屬性面板直接賦值
public AnimationClip anim;
void Start() {
//獲得綁定這個腳本遊戲物體身上的Animator動畫控制器組件
Animator animator = GetComponent<Animator>();
//播放動畫
animator.Play(anim.name);
//輸出動畫的播放時長
Debug.Log(anim.length);
}
保存腳本後回到Unity當中,把這個腳本綁定到遊戲場景中的某一個遊戲物體!
記得一定要把我們要播放的動畫賦值給我們腳本(圖中的紅箭頭就是我給遊戲物體Cube設置的一個動畫),在這裏我採用的是給Cube物體的顏色變紅動畫!
而且要注意的是動畫一定要添加到動畫控制器中,可以不和默認動畫或者是其他的動畫進行連線,也就是可以直接如下圖所示:
運行遊戲,結果如下所示:
可以看出遊戲物體Cube變成了紅色,而且Console控制檯輸出了動畫的時間是1秒!