一,給導入的fbx動畫添加animation event:
如下圖,在雙擊狀態機中的idle狀態,打開右面的面板,點開Events項會出現一個時間軸,點擊下方播放器的播放按鈕或者拖動播放器時間軸上的紅線,Events時間軸上的紅線會隨之移動,當紅線移動到合適的時間點,點擊Events時間軸左邊的加號便可添加一個動畫事件。比如我們在idle動畫播放到一半的位置添加一個事件,選中剛添加的事件會彈出編輯框,我們將Function名稱改為idleHalfEvent。
此時如果Hierarchy中選中Player,並打開Animation窗口(菜單->Window->Animation),clip選idle(顯示為idle (Read-Only)),縮放右邊窗口直到能看到整個動畫軸,可以看到前面添加的idleHalfEvent事件(函數)也出現在這里。
注:其實添加animation event也可以不走前面的步驟,直接在這個animation窗口中添加亦可。
不過此時顯示為idleHalfEvent (Function Not Supported)。因此現在還沒有實現idleHalfEvent這個函數。
為Player添加腳本idleHalfEventScript.cs:
using UnityEngine;
using System.Collections;
public class idleHalfEventScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void idleHalfEvent(){
Debug.Log ("event message: idle half!");
}
}
然后再回去看剛才的animation窗口,就會發現idleHalfEvent事件不再提示“Function Not Supported”了,如下圖:
至此animation event添加完成,運行程序,可以看到每次當player的idle動畫播放到一半的時候控制台會輸出;
event message: idle half!
UnityEngine.Debug:Log(Object)
二,給直接在unity里制作動畫添加animation event:
直接在animation窗口中添加即可。