【Unity】見下ろし視点の2Dゲームでキャラクターを移動させる方法!簡単スクリプト紹介【rigidbody】

【PR スプリングセール開催中】

Unityアセットストアで、5月9日0時まで多数の人気アセットが50%オフで販売されています!この機会に手に入れましょう!
50%オフのアセットはこちら

上から見下ろした視点でキャラクターを移動させる方法について紹介します。簡単なスクリプトで、上下左右自由に動かすことができるようになります。

キャラクターの配置

ヒエラルキー、またはシーンビューにキャラクターの画像をドラッグ&ドロップして配置します。

ちなみに、キャラクターの画像はこちらのものを使用しています。

見下ろし視点でのゲーム素材が欲しい方は、こちらのアセットがおすすめです。ファンタジーな世界を作ることができます。

キャラクターの設定

キャラクターに、Rigidbody 2Dコンポーネントを追加します。

重力と回転の影響をなくすために、Gravity Scaleを0にして、Freeze Rotationにチェックを入れます。

キャラクターを移動させるスクリプト

これで準備はできたので、移動するスクリプトを作成します。

以下のスクリプトを作成して、キャラクターに設定しましょう。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMove : MonoBehaviour
{

    private Rigidbody2D rb;
    public float moveSpeed = 2;
  
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

   
    void Update()
    {
        // 矢印キー入力
        float MoveX = Input.GetAxis("Horizontal");
        float MoveY = Input.GetAxis("Vertical");
        // 移動方向決定
        Vector2 inputDirection = new Vector2(MoveX, MoveY).normalized;

        // 移動
        rb.velocity = new Vector2(inputDirection.x * moveSpeed, inputDirection.y * moveSpeed);
    }
}

Input.GetAxisで矢印キーの入力を検出します。移動方向は、斜めに進んでも移動の速さが変わらないようにするため、.normalizedをつけています。

移動はrb.velocityで動かします。moveSpeedの変数で速さが調整できるので、お好みで設定しましょう。

実行結果

キャラクターを矢印キーで上下左右斜めに動かすことができました!

2Dゲームでのキャラクター移動方法の紹介でした。これにアニメーションをつけたり、移動方向に応じて向きを変えることで、クオリティを上げることができます。

今後はそれらの方法についても紹介していきます!

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