シンプルなタワーディフェンスゲームを作る part18
こちらのようなシンプルなタワーディフェンスゲームを作っています。本記事と次回の2回に分けて下の動画のような、ステージ選択を行うことで遊びたいステージを選択できるような機能を作ります。本記事ではこれまで作ってきた部品を使ってステージのバリエーションを増やす方法を紹介し、次回の記事でステージ選択画面の作りこみを行います。
ステージの土台を作る
ステージの土台を作ります。
「モデリングモード」→「作成」→「Box」を選択します。
「Width」を2000、「Depth」を1500、「Height」を50として承諾ボタンを押します。
(これまで作ってきた「自軍拠点」や「タワー」の大きさに対して十分な大きさが確保出来ればOKです)
新しく「stage」というフォルダを作成し、先ほど作成したオブジェクトを「stage」フォルダに移動し、名称を「SM_stage」とします。
「stage」フォルダ上で右クリック→「マテリアル」を選択し新しいマテリアルを作成します。
下図のように、ベースカラーに「Constant3Vector」を接続し、好きな色に調整して単色のマテリアルを作成し、名称を「M_stage」として「SM_stage」に割り当てます。
1つ目のステージを作る
「level」フォルダを開きます。
新規フォルダを作成し名称を「stages」とします。
本章や次章で作成するステージをこのフォルダに格納していきます。
「stage」フォルダを開きます。
右クリック→「レベル」を選択して新しくレベルを作成し、名称を「stage1」とします。
「stage1」を開きます。
作成したばかりの何も配置していないレベルは真っ暗で何も見えないので、空を配置していきます。
「ウィンドウ」→「環境ライトミキサー」を選択します。
下図のように「環境ライトミキサー」のウィンドウが開くので「スカイライトを作成」「大気ライトを作成」「Sky Atmosphereを作成」「ボリュメトリッククラウドを作成」「ハイトフォグを作成」の5つ全てのボタンを押下すると、デフォルトで用意されたレベルのように、空が作成されます。
次に、下図のようにこれまで作ってきた部品を配置していきます。
土台として「SM_stage」を配置し、その上に「BP_headquater」を一つのみ、「BP_enemey_spawner」を一つ以上、「BP_wave_manager」を一つのみ配置します。
「BP_tower_socket」はいくつ配置してもOKです。
「SM_stage」を覆うように「NavMeshBoundsVolume」を配置します。Pキーを押すか、ビューポートの左上の「表示」→「ナビゲーション」でAIが移動可能なエリアを可視化できます。
左上の追加ボタンから「基本」→「PlayerStart」を選択して「PlayerStart」を配置します。
下図のように見下ろして全体を俯瞰できる位置に「PlayerStart」を調整します。
「wave_manager」フォルダの「DT_wave」を開きます。(part12で作成)
part12で紹介した方法と同様に、「stage1」で出現させる「敵ユニット」の情報を以下のように追加します。
- 8行目「stage1」ステージの「1」wave目で「敵スポナー0」が「BP_Enemy1」を5体出現させる
- 9行目「stage1」ステージの「2」wave目で「敵スポナー0」が「BP_Enemy1」を7体出現させる
- 10行目「stage1」ステージの「2」wave目で「敵スポナー0」が「BP_Enemy2」を3体出現させる
「stage1」で実行ボタンを押すと下図のように、設定した通りに「敵ユニット」を出現させることが出来ます。
2つ目のステージを作る
「level/stage」フォルダに戻ります。
先ほど作成した「stage1」をコピー&ペーストします。名称の最後が数字になっていれば自動的にインクリメントされるため、「stage2」という名称のレベルが作成されます。
「stage2」を開きます。
「stage2」は道を湾曲させて少し複雑なステージにしてみましょう。
左上の追加ボタンから「ボリューム」→「ナビモディファイアボリューム」を選択して、「NavModifierVolume」を追加します。
「NavModifierVolume」は「NavMeshBoundsVolume」と重ねることで「NavMeshBoundsVolume」が作るAIが移動できる範囲を削り取ることが出来ます。「NavModifierVolume」を下図のように配置することで「敵ユニット」の移動する範囲を絞ることが出来ます。
再度「wave_manager」フォルダの「DT_wave」を開きます。
part12で紹介した方法と同様に、「stage2」で出現させる「敵ユニット」の情報を以下のように追加します。
- 11行目「stage2」ステージの「1」wave目で「敵スポナー0」が「BP_Enemy2」を2体出現させる
- 12行目「stage2」ステージの「1」wave目で「敵スポナー0」が「BP_Enemy1」を2体出現させる
- 13行目「stage2」ステージの「2」wave目で「敵スポナー0」が「BP_Enemy2」を5体出現させる
「stage2」で実行ボタンを押すと下図のように、設定した通りに「敵ユニット」を出現させることが出来ます。
コメント