上から見下ろした視点でキャラクターを移動させる方法について紹介します。簡単なスクリプトで、上下左右自由に動かすことができるようになります。
キャラクターの配置
ヒエラルキー、またはシーンビューにキャラクターの画像をドラッグ&ドロップして配置します。
ちなみに、キャラクターの画像はこちらのものを使用しています。
見下ろし視点でのゲーム素材が欲しい方は、こちらのアセットがおすすめです。ファンタジーな世界を作ることができます。
キャラクターの設定
キャラクターに、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ゲームでのキャラクター移動方法の紹介でした。これにアニメーションをつけたり、移動方向に応じて向きを変えることで、クオリティを上げることができます。
今後はそれらの方法についても紹介していきます!