NavigationRegion2D
Экспериментальное: This class may be changed or removed in future versions.
Наследует: Node2D < CanvasItem < Node < Object
Проходимая 2D-область, которую NavigationAgent2D может использовать для поиска пути.
Описание
Проходимая 2D-область на основе NavigationPolygon, которую NavigationAgent2Ds может использовать для поиска пути.
Два региона могут быть соединены друг с другом, если они имеют общее ребро. Вы можете установить минимальное расстояние между двумя вершинами, необходимое для соединения двух ребер, с помощью NavigationServer2D.map_set_edge_connection_margin().
Примечание: Перекрытие навигационных полигонов двух регионов недостаточно для соединения двух регионов. Они должны иметь общее ребро.
Стоимость поиска пути при входе в регион из другого региона можно контролировать с помощью значения enter_cost.
Примечание: Это значение не добавляется к стоимости пути, если начальная позиция уже находится внутри этого региона.
Стоимость поиска пути при перемещении на расстояние внутри этого региона можно контролировать с помощью множителя travel_cost.
Примечание: Этот узел кэширует изменения своих свойств, поэтому если вы вносите изменения в базовый регион RID в NavigationServer2D, они не будут отражены в свойствах этого узла.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
Методы
void |
bake_navigation_polygon(on_thread: bool = true) |
get_bounds() const |
|
get_navigation_layer_value(layer_number: int) const |
|
get_navigation_map() const |
|
get_region_rid() const |
|
get_rid() const |
|
is_baking() const |
|
void |
set_navigation_layer_value(layer_number: int, value: bool) |
void |
set_navigation_map(navigation_map: RID) |
Сигналы
bake_finished() 🔗
Выдается после завершения операции запекания навигационного полигона.
navigation_polygon_changed() 🔗
Выдается при замене используемого навигационного полигона или при внесении изменений во внутренние компоненты текущего навигационного полигона.
Описания свойств
Определяет, включен или отключен NavigationRegion2D.
Когда поиск пути входит в навигационную сетку этого региона из навигационной сетки другого региона, значение enter_cost добавляется к расстоянию пути для определения кратчайшего пути.
Битовое поле, определяющее все навигационные слои, к которым принадлежит регион. Эти навигационные слои можно проверить при запросе пути с помощью NavigationServer2D.map_get_path().
NavigationPolygon navigation_polygon 🔗
void set_navigation_polygon(value: NavigationPolygon)
NavigationPolygon get_navigation_polygon()
Ресурс NavigationPolygon для использования.
При поиске пути внутри навигационной сетки этого региона пройденные расстояния умножаются на travel_cost для определения кратчайшего пути.
bool use_edge_connections = true 🔗
Если этот параметр включен, навигационная область будет использовать краевые соединения для соединения с другими навигационными областями, находящимися в непосредственной близости от границы краевых соединений навигационной карты.
Описания метода
void bake_navigation_polygon(on_thread: bool = true) 🔗
Запекает NavigationPolygon. Если on_thread установлен в true (по умолчанию), запекание выполняется в отдельном потоке.
Возвращает выровненный по осям прямоугольник для преобразованной навигационной сетки региона.
bool get_navigation_layer_value(layer_number: int) const 🔗
Возвращает, включен ли указанный слой битовой маски navigation_layers, учитывая layer_number от 1 до 32.
RID get_navigation_map() const 🔗
Возвращает текущую навигационную карту RID, используемую в этом регионе.
Устарело: Use get_rid() instead.
Возвращает RID этого региона на NavigationServer2D.
Возвращает RID этого региона на NavigationServer2D. В сочетании с NavigationServer2D.map_get_closest_point_owner() может использоваться для определения NavigationRegion2D, ближайшего к точке на объединенной навигационной карте.
Возвращает true, когда NavigationPolygon запекается в фоновом потоке.
void set_navigation_layer_value(layer_number: int, value: bool) 🔗
На основе value включает или отключает указанный слой в битовой маске navigation_layers, учитывая layer_number от 1 до 32.
void set_navigation_map(navigation_map: RID) 🔗
Устанавливает RID навигационной карты, которую должен использовать этот регион. По умолчанию регион автоматически присоединится к навигационной карте по умолчанию World2D, поэтому эта функция требуется только для переопределения карты по умолчанию.