このテーマでは、Unityの標準機能である衝突判定を使ってツムツムのようなパズルゲームの作り方について説明してきます。
Unity初心者の方でも、この記事を進めていけばパズルゲームが作れるようになるだけでなく衝突判定についても理解ができるようになります。
このテーマは、10記事で構成されています。第1回では、「素材の作成方法」について説明していきます。
素材の作成
この記事では、フィールドとボールのゲームオブジェクトを作成していきます。ボールは3~4種類程度用意します。
プロジェクトの作成
まずは、自由な名前でプロジェクトを作成しましょう。
プロジェクトを立ち上げたら、画面を見やすくするために、まずはカメラの位置を設定しましょう。
MainCameraのインスペクタ―からTransform→Positionの位置を(0,1,-30)に設定してください。
次に、MainCameraのインスペクターからCamera→ClearFlagsをSolid Colorにします。
これにより、空の風景から単色の背景に切り替えることができます。
ここでCamera→Backgroundで背景の色を変えることもできます。
フィールドの作成
つぎに、パズルゲームのフィールドを作成します。
ヒエラルキー上で右クリックして、Create Emptyで空のオブジェクトを作成しましょう。
次に、作成した空のオブジェクトを右クリックして3D Object→Cubeを選択してください。
すると、空のオブジェクトの子オブジェクトとしてキューブを生成することができます。
生成したキューブのサイズをインスペクターから調整します。
以下の画像のように、ヒエラルキーのTransformのScaleやPositionなどを変更することでキューブの形を変えることができます。
上記と同様の作業を繰り返し、複数のキューブを用いて、下のようなフィールドを作成してみてください。
今回はキューブを7個使用してフィールドを作成します。Transformの設定は以下の表にまとめています
また、インスペクターの上部でCubeの名前を変更できます。
オブジェクト名 | Position | Rotation | Scale |
Left | -9.5, 0, 0 | 0, 0, 0 | 1, 20, 1 |
LeftSlope | -5.5, -7.6, 0 | 0, 0, 60 | 1, 10, 1 |
Bottom | 0, -10, 0 | 0, 0, 90 | 1, 20, 1 |
Right | 9.5, 0 ,0 | 0, 0, 0 | 1, 20, 1 |
RightSlope | 5.5, -7.6, 0 | 0, 0, -60 | 1, 10, 1 |
LeftRoof | -7, 8, 0 | 0, 0, -30 | 1, 10, 1 |
RightRoof | 7, 8, 0 | 0, 0, 30 | 1, 10, 1 |
これで、フィールドの作成は完了です。
ボールの作成
次にボールを作成しましょう。ヒエラルキーで右クリック→3D object→Sphereを選択してボールを生成してください。
これでボールがSceneに表示されます。ボールの種類を増やしたいため、ここでマテリアルを設定していきます。
ProjectウインドウのAssetsフォルダにMaterialsフォルダを作成してMaterialsフォルダを右クリック→Create→Materialでボール用のマテリアルを生成しましょう(sphereの名前はBallにリネームしていますが自由に名前を付けて大丈夫です。上記画像では前節のフィールド作成に用いたGameObjectもFieldに改名しています)。
次に、作成したマテリアルのインスペクタ―から色を調整していきます。
色の設定は、Main Maps→Albedoのカラーボックスを選択することにより調整できます。
また、影の色を黒以外に変更することもできます。影の色を変更するにはEmissionにチェックを入れ、Emission→Colorのカラーボックスを選択して調整できます。
今回は、メインカラー(Albedoで選択したカラー)はボールの種類とし、サブカラー(Emissionで選択したカラー)はボールをタッチしたか否かを表示するために使用することにします。
マテリアルを設定出来たら、BallマテリアルをヒエラルキーのBallのゲームオブジェクトにドラッグ&ドロップしてマテリアルを適用させます。
ここで、ボールのサイズが少し小さかったため、インスペクターのTransform→Scaleのx,y,zをすべて2に変更しました。
最後に、フィールドとボールのゲームオブジェクトをプレハブに登録しておきましょう。
まず、Assetsフォルダ下にPrefabsフォルダを作成します。次にPrefabsフォルダにFieldゲームオブジェクトとBallオブジェクトをドラッグ&ドロップしてプレハブに登録させます。
これにより、いつでもフィールドとボールを呼び出せるようになります。
おさらいと次回予告
今回は、ツムツム風パズルゲームの素材を作成していきました。
次回はUnityの機能である衝突判定を使ってボールを動かす方法について説明していきます。
次回の記事↓
パズルゲーム講座が動画になりました。
動画も合わせてチェック!
コメント