0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityでマリオ風3Dアクションゲームを作る: 基礎から完成まで

Posted at

Unityでマリオ風3Dアクションゲームを作る: 基礎から完成まで

Unityを使用して、簡単な3Dアクションゲームを作成したいと考えている方のためのガイドです。本記事では、プロジェクトのセットアップからキャラクター操作、ステージデザイン、敵のAI設定までを、実際のコード例を交えて説明します。


必要な準備

環境設定

  1. Unity Hubをインストール
    Unity公式サイトからUnity Hubをダウンロードします。

  2. 新規プロジェクトを作成

    • テンプレート: 3D
    • プロジェクト名: MarioStyle3D

必要なリソース

  • キャラクターと敵のモデル(Unity Asset Storeからダウンロード可能)
  • 基本的なC#スクリプトの理解

キャラクター操作の実装

まず、プレイヤーキャラクターを操作可能にします。

モデルの設定

  1. モデルのダウンロード
    Unityアセットストアで無料のキャラクターモデル(例: Robot Kyle)をダウンロードします。

  2. モデルの配置
    ダウンロードしたモデルをシーンにドラッグして配置します。

移動スクリプト

以下のスクリプトを作成し、キャラクターにアタッチします。

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;
    public float jumpForce = 7f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Update()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
        rb.AddForce(movement * speed);

        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
        }
    }
}

ステージデザイン

次に、ゲームの舞台となるステージを作ります。

地形の作成

  1. Terrainオブジェクトを追加
    GameObject > 3D Object > Terrainを選択します。

  2. 地形ツールを使用
    ペイント機能で起伏をつけ、リアルな地形を作成します。

足場の配置

  1. Cubeオブジェクトを追加
    GameObject > 3D Object > Cubeを選択します。

  2. 足場を配置
    複数の足場を配置し、ジャンプが必要なステージを作成します。

    敵キャラクターの設定

敵が巡回する簡単なAIを実装します。

巡回AIのスクリプト

以下のコードを敵に適用します。

using UnityEngine;

public class EnemyPatrol : MonoBehaviour
{
    public Transform[] patrolPoints;
    private int currentPoint = 0;
    public float speed = 3f;

    void Update()
    {
        if (patrolPoints.Length == 0) return;

        Transform target = patrolPoints[currentPoint];
        transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);

        if (Vector3.Distance(transform.position, target.position) < 0.1f)
        {
            currentPoint = (currentPoint + 1) % patrolPoints.Length;
        }
    }
}

ビルドとデプロイ

ビルド設定

  1. File > Build Settingsを開き、ターゲットプラットフォームを選択します。
  2. 必要に応じて解像度や設定を調整します。

ビルド実行

  1. プロジェクトをビルドして、PCやスマートフォン用にエクスポートします。
  2. エクスポート後、動作確認を行い、必要に応じて調整します。

さらなる学習リソース

Unityでのスキルを向上させるには、Unity入門の森が非常に役立ちます。
2Dゲームの基礎を学ぶことで、さらに洗練された3Dゲームを作成するスキルを得られます。

まとめ

  • Unityでマリオ風3Dアクションゲームを作成する基礎手順を学びました。
  • キャラクター操作や敵AIの設定を行うことで、動的なゲームを完成させられます。
  • 次のステップは、さらなるカスタマイズや高度な機能の実装です。

ゲーム開発の楽しさを存分に味わってください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?