プロのゲームクリエイターも使っている、2D/3Dゲーム開発エンジン「Unity(ユニティ)」。3D迷路を探検するゲームをつくりながら、Unityでのゲームのつくり方を紹介しているよ。
第2回では、Unityの基本的な使い方を説明したので、今回からはいよいよ3D迷路ゲームをつくりはじめるよ。まずはゲームのステージになる3D迷路をつくっていく。
1 迷路の箱になるような床をつくろう
前回つくったプロジェクト「Maze Game」をつかうので、まずUnity Hub(ユニティ ハブ)を起動する。「プロジェクト」画面に「Maze Game」があるので、それをクリックしてUnityを起動しよう。

① Unityが起動したら、Hierarchy
ウィンドウで、「Create
」をクリックすると表示されるメニューから、「3D Object
」の「Cube
」をクリックする。

② Scene
ビューに、箱型が表示される。Hierarchyウィンドウで「Cube」という名前で表示されてるので、「Ground」に変えておこう。

③ 箱型を変形させて、床に見えるように大きさや位置を変えよう。大きさとしては、Inspector
ウィンドウの「Scale
」で、Xが20、Yが1、Zが20になる大きさにする。

オブジェクトの変形は、Scale Toolボタンをクリックして、マウスを使ってももいいけど、むずかしいときは、Inspectorウィンドウの「Scale」で、数字を入力してもできるよ。

Sceneビューで、オブジェクトの全体が見れなくなったら、使っているマウスにある、マウスホイールを手前側に回すと、ズームアウトができたよね(第2回の「5 マウスを使いこなそう!」を読んでね)。マウスホイールを回しながら、見やすい大きさになるように調整しよう。

2 床の周りに壁をつくろう
迷路の床ができたら、次は壁をつくろう。
① Hierarchyウィンドウで、Cubeののオブジェクトを1つつくろう。名前は「Wall1」にする。壁にするので、細長い形にしたい。Inspectorウィンドウの「Scale」でXを20、Yを1、Zを1にする。壁なので「Ground」の端に移動させたい。そこで、Inspectorウィンドウの「Position
」でXは0、Yは1、Zを9.5に設定しよう。壁が1つできた!


②「Ground」のほかの端にも壁をつくりたい。ただし、手順④をそのままくり返さなくてもいいよ。Hierarchyウィンドウで「Wall1」を右クリックして、表示されるメニューから「Duplicate
」を選ぶ。すると、「Wall1(1)」ができる。


⑥「Wall1(1)」を「Wall2」に名前を変える。今は、「Wall1」と同じ場所にあるので、位置と形を変えよう。「Wall2」はInspectorウィンドウの「Position
」でXは0、Yは1、Zを20、「Scale」ではXを1、Yを1、Zを20に設定する。2つめの壁ができたね。

⑦ 同じ方法で、全部で4つの壁をつくる。それぞれ、Inspectorウィンドウの「Position」と「Scale」の数値が違うので、次の表を参考にしてつくってね。
X | Y | Z | ||
Wall1 | Position | 0 | 1 | 9.5 |
Wall1 | Scale | 20 | 1 | 1 |
Wall2 | Position | 9.5 | 1 | 0 |
Wall2 | Scale | 1 | 1 | 20 |
Wall3 | Position | -9.5 | 1 | 0 |
Wall3 | Scale | 1 | 1 | 20 |
Wall4 | Position | 0 | 1 | -9.5 |
Wall4 | Scale | 20 | 1 | 1 |
全部の壁が出来上がるとこのようになるよ。

3 オブジェクトに色(マテリアル)をつける
つくったオブジェクトには色をつけることができるよ。さっそくやってみよう。
① オブジェクトに色をつけるときは、「Material
」をまずつくる。最初に「Ground」の色をつけるので、Hierarchyウィンドウで「Ground」を選択する。それからProject
ウィンドウの「Create」をクリックして、「Material」を選ぶ。

② Assets
にできた「Material」の名前を「groundColor」に変える。

③ Inspectorウィンドウの「Albedo
」の横にある白い四角の部分をクリックする。

④ 表示されたパレットで好きな色を選ぼう。円になっている色の帯の好きなところをクリックすると、その部分の色に変わるよ。

⑤ 色が変わった「groundColor」 をHierarchyウィンドウにある「Ground」へドラッグ&ドロップする。

⑥ 床の色が変わったかな?

⑦ 同じように、壁に色をつけよう。ここでは「groundColor」を壁の色にしたけど、違う色にしてもいいよ。

4 箱の中に迷路をつくる
それでは迷路をつくっていこう。
① まずは、スタートとゴールの場所を決める。

② 壁をつくったときと同じ方法でオブジェクトをつくって、それを床に置いていくよ。ここでは、次のような迷路をつくった。迷路の壁は「Wall5」、「Wall6」、「Wall7」、「Wall8」だ。それぞれの、Inspectorウィンドウの「Position」と「Scale」の設定は表のようになる。表の数値でつくってみてから、自分で改造してみてもいいね。
X | Y | Z | ||
Wall5 | Position | -6 | 1 | 1.5 |
Wall5 | Scale | 15 | 1 | 1 |
Wall6 | Position | -1 | 1 | -3.5 |
Wall6 | Scale | 11 | 1 | 1 |
Wall7 | Position | 6 | 1 | 4 |
Wall7 | Scale | 11 | 1 | 1 |
Wall8 | Position | 3.5 | 1 | 5.5 |
Wall8 | Scale | 5 | 1 | 1 |

壁の位置は、Inspectorウィンドウの「Rotation
」で設定できるよ。「Y」の数値を変えてみて、壁がどのように置かれるかためしてみてね。
③ 迷路の壁にも色をつけよう。わかりやすくするために、床とは違う色にしたほうがいいね。

SceneビューのY軸をクリックすると真上からオブジェクトを見ることができるよ。

5 プロジェクトを保存する
迷路ができたら、とりあえず保存しよう。Unityは2種類の保存が必要だよ。
①「File
」メニューをクリックして、「Save
As
」を選択する。ここでは、「main
」という名前で保存した(名前は何でもいいよ)。
② 次に、もう一度「File」メニューをクリックして、今度は「Save
Object
」を選択する。特に何も表示されないけど、これでオブジェクトの上書き保存ができたよ。
ゲームをつくっている途中で作業を中断するときはもちろん、つくっているときにもなるべくこまめに保存はしておいた方がいいよ。
今回は3D迷路ゲームのフィールドになる迷路をつくったよ。次回はいよいよプレイヤーをつくっていくぞ。お楽しみに!
(記事協力:LITALICOワンダー)