IT用語集 › プログラミング › ナビメッシュカービング

ナビメッシュカービング

プログラミング Svenska → 更新: 2026-10-27

動く障害物のある場所に、実行時にナビゲーションメッシュの穴をあけ、経路探索が障害物に突っ込まず迂回するようにする手法。

ナビメッシュは通常、静的なジオメトリから一度だけベイクされる。ところが誰かが道の真ん中に車を倒すと、メッシュは「そこは歩ける」と言い張り続ける。ローカル回避は小さな障害物なら処理できるが、通路全体をふさぐバリケードはグラフ自体に反映しなければならない。さもないとエージェントはその前で押し合うだけになる。

カービングは、障害物が覆う部分だけメッシュを作り直して解決する。Recast/Detourではタイルキャッシュを使い、メッシュをタイルに分割して障害物の下のタイルだけを再生成する。Unityでは同じ発想がNavMeshObstacleのチェックボックスとして提供されている。コストは軽くないので、障害物の動きが止まってからカービングするのが定石で、常に動き回るものは毎フレーム切り抜くのではなくローカル回避で避けさせる。

← 用語集に戻る