【Unity】アニメーションを切り替える方法

Unity

はじめに

「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以上、または以下にスクリプトから変更することで、アニメーションを自在に変更できそうです。

コメント

タイトルとURLをコピーしました