トップダウンエンジンは見下ろし型のゲーム制作を加速させるためのツールです。ここでは導入として、最低限のセットアップに必要なものを解説したいと思います。
シーン内に必要なものを用意する
セットアップでは、TopDownEngineに含まれるシーンは使わないで、新しいシーンにセットアップを行います。これはトップダウンエンジンを使いこなす上で、何が必要なのかなどを理解することにも繋がります。
Cinemachineを追加
トップダウンエンジンは、Cinemachineを利用します。そのため、アセットを導入する前にパッケージを入れておくと良いでしょう。
- Package Managerを開く
- Unity Registryに切り替え
- Cinemachineを選択してインストール
この作業は前後しても一応大丈夫ですが、先にしておくと良いですね。
トップダウンエンジンの導入
大前提ですが、アセットストアなどでTopDownEngineのアセットを入手してください。今回は3Dをメインに進めたいと思います。3Dのテンプレートでプロジェクトを作成してトップダウンエンジンの導入を行ってください。
https://assetstore.unity.com/packages/templates/systems/topdown-engine-89636
必要なGameObjectを準備
新しいシーンを作成(File>New Scene)したら、まずは空のGameObjectを4つ作成します。この作業は必須ではありませんが、他のシーンやトップダウンエンジンのお作法みたいな感じです。なのでそれらに則りながら作業しましょう。各GameObjectの名前と注意点は以下。
- GameManager
- コンポーネントを追加:GameManager
- このGameManagerはAssets/TopDownEngine/Common/Scripts/Managersにあるスクリプトです。
- SoundManager
- コンポーネントを追加:MMSoundManager
- ゲームオブジェクトの名前とスクリプト名にギャップがあるので注意
- Managers————————
- あとから子供にGameObjectを配置します。
- —————はヒエラルキーで見やすくするためであり、機能的な意味はほぼ無いです
- Level
- Transformをリセットする(位置0,0,0 回転0,0,0 スケール1,1,1)
LevelManagersに必要なものを追加
Managers—–を右クリックしてGameObjectを作成します。今回は2つのGameObjectを作成したいと思います。
- LevelManager
- コンポーネントを追加:LevelManager
- 後ほど登場させるキャラクターのGameObjectをセットします。一旦コンポーネント追加のみ
- TimeManager
- コンポーネント追加:MMTimeManager
- これは必須ではありませんが、入れておくと時間関係の演出の実装に役立つ

実質必須なのはLevelManagerのみ!
地面になるPlaneを用意
地面になるPlaneを作成します。Levelゲームオブジェクトを右クリックして3D>Planeから作成を行います(名前:groundに変更)。
位置がズレている可能性がありますので、位置(0,0,0)にリセットしてください。
また、LayerをGroundに変更します。


TopDownEnginは各オブジェクト同士の当たり判定を行う際、どのレイヤーに属しているかが重要になります。
カメラのセット
カメラはデフォルトのものではなく、プレファブ化されているものを利用します。「Minimal3DCameras —-略」というプレファブがありますので、見つけてヒエラルキーにドラッグアンドドロップで追加してください。
追加を行うと、元々のカメラは不要になりますので、Main Cameraが存在する場合は削除してください。位置が下図と違ってもここは重要ではありません。プレイヤーのセットを行うと追従するようになります。気になる場合はMinimal3DCamerasの位置を変更してみてください。


ここで、Universal Render Pipeline(URP)のプロジェクトの場合、UIが表示されてカメラの表示が映らなくなります。これはBuilt-in Render Pipeline(普通のやつ)との設定の差によって起こります。
以下2つのゲームオブジェクトのインスペクターの設定を変更して対処してください。


- UICamera
- Camera
- Render Type:Overlay
- Camera
- Canvas
- Canvas
- Render Mode:Screen Space – Overlay
- Canvas
以上がシーン開始時の必要な設定になります。
デモのキャラクターを動かしてみる
シーンの準備ができただけでは流石に落ち着きませんね。キャラクターのセットアップを行うことでちゃんとセットアップができているか確認しましょう。ただしゼロからキャラのセットアップを行うのは大変なので、既存のモデル(キャラクター)を使って試しましょう。
登場するための位置を決める
初手、ゲーム内に登場させるための場所を指定する「CheckPoint」を追加します。
- groundを右クリックしてCreate Emptyから空のGameObjectを作成します(名前:check point)
- check pointゲームオブジェクトにコンポーネントを追加する
- Checkpointコンポーネントを追加
- check pointの位置をキャラクターを出現させたい位置へ移動


LevelManagerにセット
セットアップで作成したLevelManagerのコンポーネントに動かすキャラクターとどこに出現させるか、の設定を行います。
- PlayerPrefabsをセット
- 配列にキャラクターのプレファブを1つ追加します
- キャラクターのプレファブは「Assets/TopDownEngine/Demos/Loft3D/Prefabs/PlayableCharacters/LoftSuit」を選択してください。
- Initial Spawn Pointをセット
- コンポーネントはCheckpointなのに、SpawnPointとなっています。
- 前項で作成したcheck pointゲームオブジェクトをセットしてください。


この時点で一度動かしてもOK!ただちょっとデフォルト設定だと遠いのでカメラの大きさ調整しましょう。
カメラの設定を変更
締めにカメラの設定を少しいじりましょう。
- Prefabモードを解除する
- Minimal3DCameras —–ゲームオブジェクトを右クリックしてPrefab>Unpackを選択してプレファブモードを解除します。
- これは、プロジェクト特有の設定を行いたいため、既存のプレファブとの関係を断つ処理です。
- プロジェクトでの設定が決まったら、改めてプレファブ化を行いましょう。
- 別途PrefabVariantを使う方法もありますが、そちらはわかる方が行うようにしてください。
- Minimal3DCameras/CM vcam1を選択
- Lens Vertical FOV:15に設定
- これは、私の方の調整になります。数字を変更するとどのぐらいカメラが寄るかが変わるのでお好みの調整を行ってください


動かしてみる
では実際にUnityを再生して仕上がりを見てみましょう。基本的な操作系は以下。
- 移動:WASD
- Shiftを押すとダッシュ
- ジャンプ:Space
- しゃがみ:C


コメント
コメント一覧 (1件)
[…] トップダウンエンジンの最小限スタートアップ3D編[Unity+TopDownEngine] […]