NavMeshObstacle.carving
Declaration
public bool carving;Описание
Если это препятствие создает вырез в navmesh.
При включении, этот режим изменяет навигационную сетку путем вырезания отверстия. Форма отверстия основана на размере и форме, установленных в NavMeshObstacle и настройках navmesh bake для радиуса и высоты.
Когда препятствие движется, вырезанные отверстия также будут двигаться, но для уменьшения CPU над головой отверстие пересчитывается только при необходимости. Логика пересчета имеет два варианта: 1) вырезать при неподвижности, 2) вырезать при перемещении.
"Вырезать при неподвижности" является поведением по умолчанию и используется, когда carveOnlyStationary установлено на true. Препятствие рассматривается как движущееся, когда оно переместилось больше, чем расстояние, установленное carvingMoveThreshold. В этот момент вырезанные отверстия удаляются. Когда препятствие перестало двигаться, и находилось неподвижно более carvingTimeToStationary секунд, препятствия рассматриваются как неподвижные и вырезание обновляется снова. Пока препятствие движется, агенты будут избегать его с помощью предотвращения столкновений, но не будут планировать пути вокруг него. Этот режим, как правило, является лучшим выбором с точки зрения производительности. Это хороший вариант, когда GameObject контролируется физикой (i.e. ящики и бочки).
Поведение "Вырезать при перемещении" используется, когда carveOnlyStationary установлено на false. В этом режиме вырезанные отверстия обновляются, когда препятствие переместилось больше, чем на расстояние, установленное carvingMoveThreshold. Этот режим хорошо подходит для больших медленно движущихся препятствий, например танка, которого избегает пехота.