Unityで2Dキャラクターの移動に合わせて立ち絵を切り替える方法

C言語関連

Unityを使って2Dキャラクターの移動に合わせて立ち絵を切り替える方法を紹介します。Visual Studio 2022を使っている場合でも、基本的な実装方法は同じです。このガイドでは、キャラクターの移動方向に応じて立ち絵をスムーズに切り替える方法を解説します。

1. 必要なセットアップ

まず、2Dキャラクターの画像を用意します。キャラクターの移動方向(上下左右)に応じた4つの画像を用意して、それぞれのアニメーション用にSpriteを設定します。

2. キャラクター移動の基本

まずは、キャラクターが上下左右に動けるように基本的な移動コードを作成します。以下のコードは、Unityで2Dキャラクターを移動させるためのものです。

using UnityEngine;
public class PlayerController : MonoBehaviour
{
    public float speed = 5f;
    private Rigidbody2D rb;

    void Start()
    {
        rb = GetComponent();
    }

    void Update()
    {
        float moveX = Input.GetAxisRaw("Horizontal");
        float moveY = Input.GetAxisRaw("Vertical");
        rb.velocity = new Vector2(moveX * speed, moveY * speed);
    }
}

3. 立ち絵を方向に合わせて切り替える

次に、キャラクターが移動する方向に合わせて、立ち絵を切り替えるコードを追加します。立ち絵はキャラクターがどの方向を向いているかによって異なる画像を表示します。これを実現するには、Animatorとパラメータを使うのが簡単です。

using UnityEngine;
public class PlayerController : MonoBehaviour
{
    public float speed = 5f;
    private Rigidbody2D rb;
    private Animator animator;

    void Start()
    {
        rb = GetComponent();
        animator = GetComponent();
    }

    void Update()
    {
        float moveX = Input.GetAxisRaw("Horizontal");
        float moveY = Input.GetAxisRaw("Vertical");
        rb.velocity = new Vector2(moveX * speed, moveY * speed);

        animator.SetFloat("Speed", Mathf.Abs(moveX) + Mathf.Abs(moveY));

        if (moveX != 0)
        {
            animator.SetFloat("LastMoveX", moveX);
        }
        if (moveY != 0)
        {
            animator.SetFloat("LastMoveY", moveY);
        }
    }
}

4. Animatorの設定

Animatorで立ち絵を動的に切り替えるために、各移動方向ごとのアニメーションを作成し、対応するパラメータを設定します。以下の手順でAnimatorの設定を行います。

  • 1. 立ち絵用のアニメーターを作成し、各移動方向ごとのアニメーションを追加します。
  • 2. Animatorで「Speed」「LastMoveX」「LastMoveY」のパラメータを作成します。
  • 3. それぞれのアニメーションに対して、移動方向に応じたトランジションを設定します。

これで、キャラクターが上下左右に移動する際に、移動方向に合わせて立ち絵が切り替わるようになります。

5. まとめ

Unityで2Dキャラクターの移動に合わせて立ち絵を切り替えるためには、基本的な移動コードに加え、Animatorを活用して移動方向に応じたアニメーションを作成します。これにより、キャラクターがどの方向を向いているかに合わせて、スムーズに立ち絵を切り替えることができます。

コメント

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