地形に複数のセクタが含まれている場合、実行時にそのセクタをつなぎ合わせることができるようにするために、NavData 生成システムの各実行で常にすべてのセクタのトライアングルを渡す必要があります。ただし、ジオメトリが 1 つのセクタでのみ変化した場合、World 全体の NavData を再構築するのではなく、変更されたセクタと、変更されたセクタとその周囲とのオーバーラップの NavData を再構築することもできます。
同様に、コラボレーション型ワークフローとアセットのバージョニングを伴うプロダクション環境でも、特定のセクタをオーバーラップする NavData はロックされる可能性があります。この制約を与えられたセクタのリビルドが可能である必要があります。
Gameware Navigation データ生成システムはこれらのシナリオに対応しています。NavData 生成システムの API を直接使用する場合は、どのセクタを再生成する必要があるか、および隣接セクタとオーバーラップするジオメトリを考慮するためにどのセクタを再ロードする必要があるかを容易に設定できます。このプロセスで、Generator は変更されないセクタに対する入力データを読み取ります。その方法は、前回の生成の実行中に生成された .ClientInput から直接読み取るか、セクタにトライアングルを入力するために GeneratorInputProducer を呼び出すかのどちらかです。
GeneratorInputOutput によって管理されるリストの各 GeneratorSector には、リビルドの処理をコントロールする 2 つのフラグを設定できます。
反復してリビルドするための一般的なシナリオは以下のようになります。
個々のセクタをリビルドする機能は、主に、大規模な地形が定義されたセクタ内で作業するレベル デザイナが、常にそのエリアの NavData を隣接セクタを変更せずに生成できるようにすることを目的としています。そうることでテスト プレイでは彼らが担当している地形に対する最新の変更が常に反映されるようにできます。
ただし、このシナリオで、他のセクタとオーバーラップするエリアが最新の状態であることは保証されません。オーバーラップのエリアの NavData はオーバーラップするセクタのいずれかに保存されるので、オーバーラップするすべてのセクタの NavData が同じ生成の実行で生成される場合にのみ、更新が保証されます。
Bot が実行時に常に正しくセクタの境界を越えることができるようにするために、ゲームのプロダクション バージョンを使用する前、またはセクタの境界に関連するプレイ テストを実行する前に、常にすべてのセクタの NavData を 1 回の生成の実行でリビルドする必要があります。