はじめに
「idle」と「walk」の2つのアニメーションをMoveSpeedというfloat形の条件を使って切り替えます。
トランジションをつくる
Idleは基本のアニメーションです、このアニメーションから、ある一定の条件になるとWalkにアニメーションが変更されるイメージです。
Idleのステートにて、右クリック > Make Transitionをクリックします。
その状態でWalkステートをクリックすると、トランジションが紐づけられます。
パラメータを設定する
どんな条件でアニメーションを遷移させるのか。
この条件の判断のためにパラメータを使います。
Animatorビュー左上の「parameters」をクリックし、「+」をクリック、「Float」を選択します。
Float型のパラメータが追加されましたので、わかりやすい名前を付けましょう。
ここでは、MoveSpeedとします。
また、名前はパラメータを選択した状態で「F2」キーを押すと、変更出来ます。
パラメータはFloat型のほかにも、int型、bool型があります。それぞれ、指定したい条件によって、使いやすい型を選んでパラメータにします。
条件を追加する
先ほど作成したパラメータを使って条件を作成します。
トランジションをクリックします。
すると、Inspectorでトランジションの設定ができるようになるので、「Conditions」の項目にある「+」をクリックします。
条件が追加されました。
「MoveSpeed」が「0.01」よりも、大きかったら、あるくのアニメーションを始めるという具合に設定したいので、下図のように変更します。
これで、「MoveSpeedが、0.01より大きくなった(Greater)ら」という条件ができました。
あるくアニメーションから戻る条件
Idleから、walkに遷移するように設定しました。
しかしこれだと、歩き始めたら、たとえ立ち止まったとしてもアニメーションは歩いた状態のアニメーションのままになってしまいます。
先ほどと同じ要領で、戻る条件も追加します。
さいごに
これであとは、このAnimatorControllerをキャラクターにアタッチし、MoveSpeedの値を、0.01以上、または以下にスクリプトから変更することで、アニメーションを自在に変更できそうです。
コメント