Animator
【Unity 入門】アニメーションを覚える | STYLY
【Unity入門】AnimatorControllerの使い方を解説 | STYLY
GetT
SetT
Animator.SetBool(string name, bool value)
pass Boolean values to an Animator Controller via script.
Use this to trigger transitions between Animator states
For example, triggering a death animation by setting an “alive” boolean to false.
Animator-SetBool - Unity スクリプトリファレンス
https://t-arashiyama.com/2021/02/18/%E3%80%90unity%E3%80%91animator-setboolint-id-bool-valueについて/
Animator.SetFloat()
Animator.SetInteger()
Animator.SetTrigger()
boolはsetした後持続するが、triggerはsetした後すぐに消える
Bool vs Trigger
unity - Animator Bool or Trigger? - Game Development Stack Exchange
固定時間の・ループしないアニメーションならTrigger、可変時間の・ループするアニメーションならBool?yosider.icon
全部Triggerにすればfalseに戻す手間がなくて楽?
Updateなどの高頻度で実行される関数の中でやると、何度も発動してしまう?
全部Boolにするのが一番安全?
どのタイミングでfalseに戻せばいい?
次に遷移するとき?
対象だけtrueにして他はすべてfalseにするような関数を用意すればいい?
Animator#62e232e8e5172d0000c97e5a
debugが難しくなる?
Update内でGetCurrentAnimatorStateInfoで条件分岐して、他のStateのboolをfalseにする?
HasExitTimeとかで自動で他のstateに遷移してしまう場合に、遷移先から元のstateへの遷移がある場合はループしてしまうかも?
stateにscriptをつけてOnStateEnterとかでSetBool(false)すればいい?
ApplyRootMotion
trueにすると、animationによって本体のTransformが変化する
歩くanimationの場合、trueだと進むが、falseだとその場で足踏みするだけ
Unityでアニメーションの動きでキャラクターを動かす | Unityを使った3Dゲームの作り方(かめくめ)
Apply Root Motionにチェックを入れているとアニメーションの動きに応じて重力が勝手に働いてくれるようですが、アニメーションクリップのルートモーションのRoot Transform Position(Y)のチェックが外されていると重力が働かないようです。
Root Transform Position(Y)にチェックが入っているとAnimatorのgravityWeightが1となりアニメーションに基づく重力が働き、チェックがされていない場合はgravityWeightが0で重力がまったく働きません。
Animator.MatchTarget()
Unityでアニメーションの動きに合わせてキャラクター位置を決定する | Unityを使った3Dゲームの作り方(かめくめ)
【Unity】アニメーションクリップのプロパティを理解する – XR-Hub
【Unity】複雑なアニメーション遷移を制御するAnimatorの作り方 - かせノート。
AnimatorStateTransition
HasExitTime
Unity - Scripting API: Animations.AnimatorStateTransition.hasExitTime
When active the transition will have an exit time condition.
前stateに遷移してからExit Time以降、前stateのアニメーションが終了していれば、後stateに遷移する
TrueでないならExitTimeの値は使われない
遷移したら遷移の部分から開始される
Transitionの優先度
Wait, I’ve changed my mind! State Machine Transition interruptions | Unity Blog
State内のTransitionsの並び順が優先度
via アニメーション遷移で優先度を決めることは可能でしょうか?