IT-словарь › Программирование › Navmesh carving

Navmesh carving

Программирование Svenska → Обновлено: 2026-10-27

Вырезание дыры в навигационной сетке прямо во время игры в том месте, где стоит подвижное препятствие, чтобы поиск пути обходил его, а не шёл напрямик.

Навмеш обычно запекается один раз по статичной геометрии. Потом кто-то опрокидывает машину поперёк дороги, а сетка всё так же уверяет, что здесь можно пройти. Локальное избегание справляется с мелкими препятствиями, но баррикада, перекрывшая весь коридор, должна попасть в сам граф, иначе агенты просто стоят и упираются в неё.

Carving решает это перестройкой лишь той части сетки, которую накрывает препятствие. Recast/Detour делает это через tile cache: сетка разбита на тайлы, и пересоздаются только те, что под препятствием. В Unity та же идея доступна флажком на NavMeshObstacle. Это недёшево, поэтому обычно ждут, пока препятствие перестанет двигаться, прежде чем вырезать: то, что постоянно в движении, надо избегать локально, а не вырезать каждый кадр.

← Назад к словарю