はじめに
Unityのアニメーターのトランジションでアニメーションを遷移させるときすぐに遷移してくれない時があるのでメモ程度に残していきたいと思います。
原因
1.HasExitTimeの設定がONになっている
遷移条件をTriggerにしてTriggerがOnになった時にすぐにアニメーションを遷移させたい時はこちらの設定はOffにする必要があります。
逆にアニメーション終了まで待ちたかったり、アニメーションをブレンドしたいときはOnにする必要があります。
2.ExitTimeが0(ぴったり)になっている
こちらが落とし穴でした。
長さが1フレームしかないアニメーションを作成して、そのアニメーションが終了したいときに遷移したい時以下のように設定したとします。
しかし、こちらの設定ではすぐに遷移してくれません。
ExitTimeを限りなく0に近い値で設定するとすぐに遷移してくれました。
1e-10 = 0.0000000001
最後に
HasExitTimeがOnになっていてすぐに遷移しないことはよくあることだと思いますが、2個目のExitTimeを0に設定した時にすぐに遷移できなくなるのは落とし穴ですね。
すぐにアニメーションが遷移されなくて困っている方の参考になれば幸いです。
他にも何かあれば追記していきたいと思います。