箱を積み上げる簡単な落ち物ゲームをUnity6で作成してみます。
ミニゲーム的な感じで、初めてUnityでゲームを作る人でも出来る内容です。
はじめに
今回作成するのは「上空で箱が左右に動く」、「タイミングよくタッチして箱を落として積み上げる」シンプルなゲームです。下記が完成形のゲームです。
練習的なミニゲームとして作成していきます。
Unityのバージョン
今回は「Unity 6」のバージョン「6000.0.39f1」で作成していきます。OSはWindows11です。
UnityHubから「新しいプロジェクト」を選択。テンプレートは「Universal 2D」を選択、プロジェクト名は「StackingBoxTower」としています。

作成開始
第1回目は箱の生成と、箱の自然落下まで実装していきます。
画面サイズを設定
画面を縦型にするのでGameタブの「FreeAspect」を選択して、「+」ボタンからアスペクト比「9:16」を作成して変更します。

箱と土台
Hierarchyの「+」から「2DObject」→「Sprites」→「Square」を2つ追加します。

「Square」一つ目は土台にします。名前をGroundに変更してPosition、Scale、色を変更します。

「AddComponent」から「BoxCollider2D」を追加。「Collider」というのは衝突という意味で、箱形の衝突判定の枠を設置しています。

下記のような台になります。

「Square」二つ目は上から落とす箱にします。名前をBoxに変更、同じように「BoxCollider2D」を追加。更に「Rigidbody2D」も追加します。「Rigidbody」は物理的な制御(上から落ちる)を行います。

これで箱と土台が完成です。ゲーム画面が下記のような感じならOK。

箱を生成して落とす
作成した箱をスクリプトで生成して落としてみます。
Projectフォルダ内に「Prefabs」というフォルダを作成します。(Assetsを選択し右クリック「Create」から「Folder」で作成できます)

BoxをPrefabsフォルダに移動します。移動したらHierarchyにある元のBoxは削除します。

Hierarchyで「+」からCreateEmptyを選択して空のオブジェクトを作成。名前を「GameManager」に変更します。

Projectフォルダ内にScriptsフォルダを作成します。

Scriptフォルダ内で右クリックして、「Create」→「Scripting」→「MonoBehaviour Script」を選択してGameManagerという名前でスクリプトを作成します。

作成したスクリプトをGameManagerに追加します。

スクリプトを開いて、下記に変更して保存します(Updateは削除します)。
using UnityEngine; public class GameManager : MonoBehaviour { [SerializeField] private GameObject boxPrefab; [SerializeField] private Transform boxPosition; void Start() { Instantiate(boxPrefab, boxPosition.position, Quaternion.identity); } }
スクリプト内容の簡単な解説
- Instantiateで指定した位置(boxPosition)にboxPrefabを生成。
Instantiateの詳細は下記公式リファレンスが参考になります。
箱の生成位置を指定する
箱の生成位置を指定します。
Hierarchyの「+」からCreateEmptyで空のオブジェクトを追加します。

名前を「BoxPosition」に変更して、Positionを箱を生成したい位置に変更します。

GameManagerのパラメータにBoxのプレハブと箱の生成位置をセットします。

画面上の「再生マーク」を押して下記のように「箱が生成」されて「落下」すればOKです。
