ナビゲーション メッシュを生成する

このトピックでは、Stingray エンジン内でナビゲーション メッシュを生成する方法について説明します。レベル ジオメトリの使用方法や、ナビゲーション メッシュのタグ付け方法についても学習します。

入力ジオメトリの生成

ナビゲーション メッシュは以下から自動的に生成することができます。

Level Editor で NavMesh を生成するには

  1. 生成ウィンドウを開くには、メイン メニュー バーで Window > Navigation を選択します。

  2. Navigation Options で入力を設定します。

    詳細については、Gameware Navigation のドキュメント全体も参照してください。

  3. Navigation OptionsGenerate NavMesh をクリックして、NavData を生成します。

    生成された NavMesh は、使用済みレベル ジオメトリの上部にレンダリングされます。

    ヒント: NavMesh をレンダリングしない場合は、Navigation Options ウィンドウで Render NavMesh をオフにします。

    生成された NavData は、同じベース ファイル名に .navdata 拡張子が付いた状態で、.level ファイルと並んで保存されます。

生成された NavData を削除するには、Navigation Options ウィンドウで Delete NavMesh をクリックします。

生成時に NavMesh にタグ付けする

NavMesh をタグ付けすると、以下のことが可能になります。

ユニット単位で、または指定したボリューム タイプのレベル エディタのボリュームを使用して、NavMesh に生成時にタグ付けすることができます。

ユニット単位のタグ付け

ユニットにタグ付けするには、次の子を持つスクリプト データ オブジェクト GwNavGenTag を追加します。

TagVolume の生成

gwnav ボリューム タイプは core/gwnav/volumes に配置されています。

シード点

シード点に接続された NavData のみを維持するには、これらのシード点のユニット インスタンスをスポーンします。こうすると、ツリーの上部、障害物、または屋根の上部に NavData を配置できなくなります。

NavMarker ユニットはゲーム中に移動する場所をマークするためにインスタンス化されるため、gwnavseedpoint スクリプトのデータとして使用することもできます。したがって、NavMesh がそこで生成された場合は、これを保持する必要があります。ただし、gwnavseedpoint は NavMarker に対して既定でオフになっています。

シード点には Create パネルを使用してアクセスできます。

マルチレベル生成

ランタイムで複数のレベルが同時にロードされていて、ボットをレベル間でシームレスに移動できるようにする必要がある場合は、マルチレベル生成が便利です。レベルごとに、ランタイムの場所で NavMesh を生成する必要があります。また、各レベルを同じ設定で生成する必要があります。

マルチレベルの NavMesh を設定、有効化、および生成するには、multilevels.gwnavgen_firstinit ファイルを作成します。このファイルは、マルチレベルの NavMesh 生成を初期化するために使用されます。リストされた各レベルには、Use multilevels をオンにして生成された最初のレベルに合わせた生成の設定があり、これらのオフセットは指定されたとおりに設定されます。オフセットはランタイム時に対応するものにする必要があります。
このファイルはオプションで、マルチレベル生成で黙示された各レベルの Use multilevels をオンにすることで、エディタの Navigation パネルでマルチレベルを直接設定することもできます。

  1. 次の形式を使用して multilevels.gwnavgen_firstinit という名前の有効な sjson ファイルを作成します。

      initial_levels_offset_list = {
        default = {
          level_resource_name_1 = [0,0,0]
          level_resource_name_2 = [10,0,0]
        }
      }
  2. Navigation Options (Window > Navigation)で、Use Multilevels generation を有効にします。

  3. Generate をクリックします。

    multilevels.gwnavgen_firstinit でリストされたレベルの gwnavgen_settings ファイルを共有および同期するために、multilevels.gwnavgen_s ttings ファイルが作成されます。

  4. Level offset は、Navigation パネルで変更できます。

    注: マルチレベル生成に含まれるすべてのレベルが Multilevels List に表示されます。

ヒント: マルチレベル NavMesh を繰り返し生成するには、project_gwnav フォルダ内の .GenIO および .ClientInput ファイルをソース コントロール(および project フォルダ)にバックアップすることをお勧めします