アニメーションの管理
作成したアニメーションを実際に動かす方法。
コンポーネントにアニメーションコントローラーを追加してあるオブジェクトを選択した状態で、ウィンドウ→アニメーション→アニメーターをクリック。
このような画面が開きます。
アニメーションとアニメーターはややこしいですが、以下のような内容となります。
アニメーション
→アニメーションファイルそのもの
アニメーター
→アニメーションを制御するもの
表示されているアニメーションファイルの中でオレンジになっているファイルがデフォルトで表示されるアニメーションとなります。
何も操作していない間はただ立っている状態にしたいので、”player_stand"をデフォルトにしています。
デフォルトを変更したい場合には、アニメーションを右クリックして、”レイヤーデフォルトステートとして設定する”をクリックすれば変更されます。
次に立ち(player_stand)と走る(player_run)の遷移を設定していきます。
player_standを右クリックして、”遷移を作成”をクリックします。
矢印が設定できるようになるので、player_runをクリックして矢印をつなげます。
矢印を設定するアニメーションを間違えた場合には、矢印をクリックして、Deleteで削除ができます。
矢印をクリックすると、遷移の設定内容を変更することができます。
まずは終了時間ありのチェックを外します。
これはアニメーションが全て終了したら、次のアニメーションにいくという設定になります。
今回は立ちの状態から、移動キーを入力したらすぐに走りに遷移したいので、外しておきます。
次にSettingsの横の矢印をクリックすると、設定値が出てきます。
遷移間隔(s)を0に設定します。
この設定時間中、次のアニメーションとブレンドしながら遷移していくことになりますが、2Dゲームで画像で作成したアニメーションの場合はブレンドできないため、0にしています。
次にアニメーションが遷移する条件を設定していきます。
アニメーターをクリック→パラメーター→”+▼”をクリックすると、追加したい型を聞かれます。
Float:浮動小数点数値型(小数点が使える)
スピードが一定以上になったらアニメーションを変える、などの使い方をする。
int:整数数値型
アニメーションのパターンを番号で制御する場合に使う。
Bool:true または false のいずれか
フラグによる制御をしたい場合に使う。
Trigger:オンオフを表すパラメーター。矢印を進むとオフになる。
一方通行な遷移をしたい場合に使う。
今回はtrueで立ち、falseで走りと設定するので、Boolを選択します。
名前を入力します。
次に矢印を選択した状態で、インスペクターのConditionの”+”をクリックします。
ここには矢印を遷移する条件を設定しますので、先ほど追加した条件を設定します。
今度は逆側の遷移(走り→立ち)の設定もしていきます。
同じように終了時間ありのチェックを外し、遷移間隔を0に設定。条件は今回はfalseを設定します。
次に遷移をさせるためのスクリプトを作っていきます。
playerという名前のスクリプトにしました。
以下の内容を入力して、スクリプトはアニメーションコントローラーを設定している画像のコンポーネントに追加します。
これでキーボードの矢印を押すと走るようになります。
Input.GetAxis()
Unityの入力を受け取る機能。入力の方向軸を受け取る。
transform.localScale = new Vector3(-1, 1, 1);
X軸をマイナスに設定すると反転する性質があるため、今回画像を片側方向しか用意していないので、反転するようにしています。