回答:
3つの主なオプションがあります。
オプション#1:(最も堅牢ですが、ほとんどのCPUに負荷がかかります)
リアルタイムで、NPCが非表示になり、プレーヤーに公開されていない十分に広いコーナー領域を計算します。非表示にするプレーヤーに最も近いものを選択します。
これは、どのレベルでも機能し、ゲームプレイ中にジオメトリが変化するレベルでも機能します。ただし、安定して動作するには、最も時間がかかり、ゲーム中はほとんどのCPUリソースを使用します。
オプション#2:(レベルデザイナーの時間を節約し、リアルタイムヒットを最小限に抑える)
コーナーテストを実行し、すべての潜在的なカバー領域のレベルにノードを配置するオフラインツールを作成します。次に、LDはこれらのノードを調整したり、不適切なノードを削除したりできます。
ゲームプレイ中に最も近い有効なノードを見つけるだけです。
これは、LDがあちこちにいくつかの不良ノードを排除できるため、コーナー検索ルーティングが100%正確である必要がないという点で優れています。オブジェクトへのアタッチやスクリプトのオン/オフを巧みに始めない限り、ジオメトリの変更に対応できません。
オプション#3:(ブルートフォース、最小限のリアルタイムヒット)
LDが手動ですべてのカバーノードを配置し、ゲームプレイ中に最も近い有効なノードを選択するようにします。
レベルが多い場合やレベルが大きい場合は、LDが文句を言うことを期待してください。