Unityuに読み込んだ画像データを使って、アニメーションを作成してみましょう。
今回使うpngファイルは、以下からダウンロード可能です。
https://online.futabazemi.work/bitboy_png.zip
左右へ向きを変え、歩いたときに、足を動かすアニメーションをつけています。
このように、2つのpngファイルとスクリプトを書いて、アニメーションを作成します。

関連記事:
オブジェクトを使ったアニメーション作成
前進と停止のアニメーションをつける
キャラクターをジャンプさせる
ジャンプのアニメーション
シフトキーで走るアニメーション
画像データをMaterialとして扱う方法
画像の切り替えをループ(Resources.Load)
ゴールすれば花火を打ち上げる
pngファイルでアニメーション作成
Imageフィルダを作成し、2枚の画像をインポートしましょう。
プロジェクト内で右クリック > 新しいアセットをインポート

bitboy_idleのファイルを、ヒエラルキーにドラッグ&ドロップします。

サイズを変更し、2Dリジッドボディを追加。
キネマティックに変更します。

Animationという名前でフィルダを作成しておきます。

アニメーションを作成しましょう。
bitboy_idleを選んだ状態で、ウィンドウ > アニメーション > アニメーション

作成をクリックしてみます。

Idleという名前をつけて、Animationフォルダの中に保存しましょう。

0:00の位置に、bitboy_idleファイルを、ドラッグ&ドロップします。

続いて、歩きのアニメーションを作ります。
新しいクリップを作成を選択。

Walkという名前をつけて、Animationフォルダの中に保存します。

0:00と0:20の位置にbitboy_idleを入れ、0:10の位置にbitboy_walkを入れます。

アニメーションをプレイして、動きを確認しましょう。


アニメーターの設定
bitboy_idleという名前のアニメーターコントローラーが出来ているので、ダブルクリックで開きます。

パラメータから、boolを作成します。

isWalkという名前をつけます。

Idleを右クリック > 遷移を作成
IdleからWalkへの遷移をつくります。

遷移の矢印をクリックして選択します。

インスペクターで設定を行います。
終了時間と固定間隔のチェックを外し、Conditionsを追加してtrueに設定します。

続いて、WalkからIdleに向けて、遷移をつくります。
Walkを右クリック > 遷移を作成
遷移の矢印を選択します。

終了時間と固定間隔のチェックを外し、Conditionsを追加してfalseに設定します。

以上、アニメーターコントローラーの設定は終わりました。
次は、プレーヤーをキー操作で動かすために、スクリプトを作成します。
アニメーションのスクリプト作成
PlayerMove.csを作成し、bitboy_idleに追加します。

PlayerMove.csを記述します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { Rigidbody2D rb; Animator anim; private float speed = 5.0f; private float input; void Start() { anim = GetComponent<Animator>(); rb = GetComponent<Rigidbody2D>(); } void Update() { input = Input.GetAxisRaw("Horizontal"); rb.velocity = new Vector2(input * speed, rb.velocity.y); //アニメーション切り替え if(input != 0) { anim.SetBool("isWalk", true); } else { anim.SetBool("isWalk", false); } //向きを変える if(input > 0) { transform.eulerAngles = new Vector3(0, 0, 0); } else if(input < 0) { transform.eulerAngles = new Vector3(0, 180, 0); } } } |
ゲームプレイして、十字キー操作しましょう。

動いているときは歩くWalkのアニメーション、止まればIdleのアニメーションに切り替わります。
Input.GetAxisRawを使えば、1か-1が返され、キーを離している間は0になります。
この値を利用して、0以外の数値の場合には、isWalkのアニメーションをtrueにしています。
関連記事:
オブジェクトを使ったアニメーション作成
前進と停止のアニメーションをつける
キャラクターをジャンプさせる
ジャンプのアニメーション
シフトキーで走るアニメーション
画像データをMaterialとして扱う方法
画像の切り替えをループ(Resources.Load)
ゴールすれば花火を打ち上げる