0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity-HasExitTimeとは?(AnimationControllerのTransition)

Posted at

Unity Animator TransitionのHasExitTimeとは?

HasExitTimeとは?

HasExitTime は、アニメーションの遷移(Transition)が、現在のアニメーションの再生時間に応じて自動的に発生するかどうか を決めるオプションです。


HasExitTime = true の場合

特徴

  • 現在のアニメーションが終わるまで待ってから遷移する
  • Exit Time の値に達したら、次のアニメーションに移行する
  • トリガーや条件なしで、アニメーションが終わったら自動で遷移する

使いどころ

  • 攻撃モーションが終わったら自動で待機モーションに戻る
  • アニメーションが必ず最後まで再生される必要がある場合(例: フィニッシュアクション)

アニメーション Attack から Idle に遷移するとき、HasExitTime = true なら Attack が最後まで再生されてから Idle に移行する。


HasExitTime = false の場合

特徴

  • アニメーションが最後まで再生されなくても、条件が満たされればすぐに遷移できる
  • Bool, Trigger, Float などのパラメータを使って制御できる
  • Exit Time の値は無視される

使いどころ

  • プレイヤーの操作に応じて自由にアニメーションを切り替えたい場合
  • 攻撃キャンセルやダメージを受けたときにすぐに次のアニメーションに切り替えたい場合

走る (Run) → 攻撃 (Attack) の遷移を HasExitTime = false にして、ボタンを押した瞬間に即座に攻撃できるようにする。


HasExitTime の使い分けまとめ

HasExitTime 動作 使いどころ
true アニメーションが終わってから遷移 自動遷移が必要な場合(攻撃後にIdleなど)
false 条件を満たしたら即遷移 プレイヤーの操作やキャンセルが必要な場合

補足:Exit Time の値について

  • Exit Time = 1.0アニメーションが100%再生された後に遷移
  • Exit Time = 0.550%再生されたら遷移

Exit TimeHasExitTime = true のときにのみ有効 なので、HasExitTime = false の場合は無視されます。


まとめ

HasExitTime を適切に設定することで、スムーズなアニメーションの切り替えを実現できます。プレイヤーの操作が重要なアクションゲームでは false、シネマティックな演出を重視する場合は true を活用しましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?