参考サイト

OnStateEnter

3Dキャラクターのアニメーション遷移でぐずってるのでまとめる

ステートマシンがこのステートを評価している場合、最初の Update のフレームで呼び出されます。

OnStateUpdate

最初と最後のフレームを除いて Update フレームごとに呼び出されます。 

OnStateExit

ステートマシンがこのステートを評価している場合、最後の Update のフレームで呼び出されます。

OnStateIK

 MonoBehaviour.OnAnimatorIK の直後に呼び出されます。

CallBackの実装

この辺をもとにアニメーションコールバックを実装

以下記事を参考

この方法も便利っちゃ便利だが、

本来Animat ionStateそれぞれにStateMachineBehaviourをスクリプトを

つけるのが正解っぽい。

ただ自動付属は便利なので

完全オレオレ実装だがd

public Dictionary<string AnimatorStateInfo> stateInfoDic = new Dictionary<string, AnimatorStateInfo>();

で変数宣言しといて

OnStateEnterOnStateEnter で

    if(!stateInfoDic.ContainsKey(stateName))
        stateInfoDic.Add(stateName, stateInfo);

で一度再生した AnimatorStateInfo は登録して外部から取得できるようにした

これで指定のState の再生時間とか外部から色々取得できるので、

この実装で進んでみる