NavData を後処理する

Gameware Navigation データ生成システムの API は、プロジェクトに対して実行する必要があるカスタムの後処理を実行するために、生成の終了時、各セクタの NavData にアクセスできます。

この種類の後処理フェーズの一般的な使用方法は、地形用の NavGraph の生成です。続いて、データ生成システムによって自動生成された NavMesh と一緒にパッケージ化する場合と同じ方法で、この NavGraph をアセット パイプライン内でパッケージ化します。詳細は、「NavGraph を作成する」を参照してください。

必要に応じて、作成した NavData へのアクセスやクエリを行うような後処理ステップを実行することもできます。

生成された NavData へアクセスする

Generator::Generate() への呼び出しが正常に終了すると、生成実行を設定するために使用する GeneratorInputOutput オブジェクトに、生成された NavData への参照も含まれます。

特定のセクタについてこのデータを取得するには、特定の GeneratorSector にアクセスする必要があります。これは次の 2 つの方法で行うことができます。

セクタにアクセスできるようになると、GeneratorSector::GetNavData() を呼び出すことで そのセクタのNavData を取得できます。次の場合、このメソッドは KY_NULL を返します。

この NavData は Database に追加されていません。NavMesh でクエリを実行するには、World を作成し、NavData::Initialize() を呼び出して NavData をその WorldDatabase にリンクし、NavData::AddToDatabaseImmediate() を呼び出してそれを追加する必要があります。

サンプル

NavGraph を作成するための後処理の使い方を紹介しているコード サンプルについては、Tutorial_Generation_postProcess.cpp ファイルを参照してください。