Nested Prefabを使ったステージの管理について【Unity】

今回は、ステージのデザインについて考えていきます。

ステージの自動生成は既に実装出来ていますが、このままだと一切敵が出現しないので、ユニティちゃんがひたすらランニングするだけのゲームです。

かといって常に同じ位置に敵を出現させてしまうと、簡単に避けられてしまうので、敵の出現させかたについて工夫が必要になります。絶対に避けられないような配置も良くないですね。

そこでプレハブの中にプレハブを配置出来る「Nested Prefab」機能を使って複数のステージを作ってみたいと思います。

スポンサーリンク

Nested Prefabを使ったステージのデザインについて

Nested Prefabは、Unity2018.3から導入された機能でプレハブの子として別のプレハブを配置できるようになります。また、それぞれのデータを保持した状態で管理可能です。

今回のように、敵の配置を変更したステージを複数作りたい場合などに便利に使えます。

大量をオブジェクトを管理する際に、変更を加える回数が少なくなり効率アップにも繋がります。

ステージを編集する

まずは、以前試験的に配置しておいた敵オブジェクトを削除しておきましょう。

プレハブの複製

元々プレハブ化しておいたステージを「Edit」→「Duplicate」で複製します。

管理がしやすいように「StagePrefab」というフォルダを作って複製したステージプレハブを移動させます。私は3種類のステージを作りたいので3個複製しています。

各ステージのプレハブを編集する

複製したプレハブを選択して「Open Prefab」をクリックします。

ステージが表示されるので、敵オブジェクトを好きな場所にドラッグ&ドロップします。

同じように、複製しておいた残りのステージプレハブも敵の位置を変えながら設定しましょう。

複数のステージをスクリプトに設定する

各プレハブの修正が出来たら、StageGeneratorのStagenumにあるSizeにステージ数を入力してプレハブを設定してください。

後はゲームを実行して、正しく動作するか確認しましょう。

ランダムに設定しておいたステージが出現するか、敵同士の間隔に問題ないかなど実際にゲームをプレイして微調整を行うようにしてください。