Unity-Animator深入系列---StateMachineBehaviour狀態機腳本學習


回到 Animator深入系列總目錄

 

 

首先這個腳本必須繼承自StateMachineBehaviour

public class MySMB : StateMachineBehaviour
{
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);

        Debug.Log("!!!");
    }
}

 

 

然后切到Animator面板,選擇狀態機里的任意狀態,點擊Add Behaviour即可掛載

 

這時運行游戲,當狀態機運行至Jump狀態時,程序打出Log

 

 

注意

1.狀態機腳本可以掛載到Layer上,但只會調用OnStateUpdate和OnStateEnter,不會調用OnStateMachineExit

2.狀態機腳本也可以掛載到子狀態機中,但只在退出子狀態機時調用一次OnStateMachineExit,OnStateUpdate是每次都調用,OnStateEnter是每個內部狀態進入的時候調用

3.OnStateMove不管動畫有無根運動,是否打開根運動,都會調用,並且重寫后托管原先的根運動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM