対象のアニメーションを再生させたい時間分だけExit Timeを指定したのですが 、ExitTimeで指定した時間よりも早いタイミングで遷移が起きてしまいます。
この問題が起きたステートが下の画像です。
Exit Timeに1を指定しているので、アニメーションが100%再生し終わるまで他のステートには遷移しないはずです。
ですが、実際にゲームを実行してAnimatorタブから現在のステートの遷移状態を見てみると、「GoldUntiburi」ステートのアニメーションは半分ほどしか再生されずに別のステートに遷移してしまっていました。
そして、「GoldUntiburi」ステートに遷移するためのコードがこちらです。
UnkoSetというプロパティを用意し、UnkoSetに2が代入された時に「GoldUntiburi」ステートに遷移するようにしています。
int unkoSet; public int UnkoSet { private set { unkoSet = value; if (UnkoSet == 1) { Anim.SetTrigger("Untiburi"); Anim.SetInteger("AnimIdx", (int)UnkomanAnim.Idx.Untiburi); } if (UnkoSet == 2) { Anim.SetTrigger("GoldUntiburi"); Anim.SetInteger("AnimIdx", (int)UnkomanAnim.Idx.GoldUntiburi); } } get { return unkoSet; } }
そもそも、Animatorのtransitionで設定できるHas Exit Timeは、Exit Timeで指定した時間内は別のアニメーションに遷移しなくなる。という認識を僕はしているのですが、その認識はあっていますか?
公式マニュアルを見ると、上記の認識のようなことが書かれています。https://docs.unity3d.com/ja/2018.4/Manual/class-Transition.html
もしあっているのなら、上記のようなステート遷移の処理で、なぜExitTimeで指定した時間よりも早いタイミングで別のアニメーションに遷移してしまっているのかを教えて下さい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。