前回までの作業で今回のゲームに必要な仕組みの部分ができました。なのでそろそろ今までの成果物を組み合わせてゲームとして遊べる形にしたいところですよね。
そこでこの辺でステージを作ってゲームとして一通り遊べるようにしていきましょう。
ステージの作り方
では早速ですがステージを作っていきます。主な作業内容は次の通りです。
- プレイヤーだけが通れないバリアを作る
- 壁などを配置する
- 敵キャラ生成オブジェクトを配置する
それぞれ詳しく見ていきましょう。
プレイヤーだけが通れないバリアを作る
まず、今の状態ではプレイヤーがどこまでも自由に移動できてしまい都合が悪いので、「プレイヤーだけが通れない透明な壁」を作ります。
プロジェクト設定ウィンドウを開き、「タグとレイヤー」のレイヤー15番に「Barrier」と記入してください。
そうしたら同じくプロジェクト設定ウィンドウの「物理」の下の方にある、衝突判定のチェックボックスが並んでいる部分を下の画像のように設定しましょう。
要は「Barrier」と「Default」(=プレイヤーキャラのレイヤー)が衝突し、他はBarrierとは衝突しないような設定になっていればOKです。ただし使わない衝突判定のチェックボックスはOFFにしておいた方が処理が少し高速になるので、上の画像では必要な部分だけONにしてあります。
壁などを配置する
次にステージの壁などを適当に配置していきます。
今回はゾンビが上の画像の画像の奥から発生し、手前に向かっていくようにしてあります。
ただしこのままだと味気ないので、適当なモデルやテクスチャをアセットストア等からインポートして下図のように見た目を良くしてみました。
ステージができたら忘れずにNavmeshをベイクし直しましょう。
敵キャラ生成オブジェクトを配置する
次に敵キャラ生成オブジェクトを適当な位置に配置して設定を行います。位置や数は適当に調整してほしいのですが、私の場合はステージ左・中央・右に1つずつ配置して3か所からゾンビが湧いてくるようにしました。
敵キャラクターの種類を増やす方法
さて、ここまででステージができたのですが、いまのところゾンビが1種類だけなのでゲームとしてはそんなに面白くありません。そこで
- 普通のゾンビ:プレイヤーを目指して移動
- 赤ゾンビ:ゲームオーバーゾーンを目指して少しゆっくり移動
という感じにしてみましょう。
まず普通のゾンビですが、敵キャラ生成オブジェクトの「Target」にプレイヤーを指定すればOKです。
次に赤いゾンビについては次の作業を行ってください。
- ゾンビのマテリアルを複製・赤くして、見た目を赤くしたゾンビを作る。
- NavmeshAgentの「速度」を「2」くらいにする。
- プレハブ化して敵キャラ生成オブジェクトに登録する。
- 敵キャラ生成オブジェクトのTarget欄にゲームオーバーゾーンを指定する。
これで2種類のゾンビができました。普通のゾンビはプレイヤーを妨害し、その隙に赤いゾンビがゲームオーバーゾーンを目指す…という役割分担によって多少難易度が上がることでしょう。
宿題:ゾンビの出現位置を少しランダムにしてみよう
ここまでの作業でかなり良い感じになりましたが、現状だとゾンビが全く同じ場所から湧いてくるので、綺麗な行列になってしまい違和感があります。
なのでもしそれが気になる方は、敵生成オブジェクトのスクリプトを改造してゾンビの出現位置を少しランダムにしてみると良いでしょう。これは簡単に実現できるのでここではやり方は紹介しませんが、宿題としてぜひチャレンジしてみてください。
テストプレイして動作を確認しよう
では最後にテストプレイして動作を確認してみてください。特に変な部分が無く動くようであればOKです。