Files
godot-docs-l10n/classes/ru/class_navigationserver2d.rst

2164 lines
206 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_NavigationServer2D:
NavigationServer2D
==================
**Экспериментальное:** This class may be changed or removed in future versions.
**Наследует:** :ref:`Object<class_Object>`
Серверный интерфейс для низкоуровневого доступа к 2D-навигации.
.. rst-class:: classref-introduction-group
Описание
----------------
NavigationServer2D — это сервер, который обрабатывает навигационные карты, регионы и агентов. Он не обрабатывает навигацию A\* из :ref:`AStar2D<class_AStar2D>` или :ref:`AStarGrid2D<class_AStarGrid2D>`.
Карты делятся на регионы, которые состоят из навигационных полигонов. Вместе они определяют проходимую область в 2D-мире.
\ **Примечание:** Большинство изменений **NavigationServer2D** вступают в силу после следующего физического кадра, а не немедленно. Это включает все изменения, внесенные в карты, регионы или агентов узлами, связанными с навигацией, в дереве сцены или выполненные через скрипты.
Чтобы два региона были соединены друг с другом, они должны иметь общее ребро. Ребро считается соединенным с другим, если обе его две вершины находятся на расстоянии меньшем, чем ``edge_connection_margin`` до вершины соответствующего другого ребра.
Вы можете назначить навигационные слои областям с помощью :ref:`region_set_navigation_layers()<class_NavigationServer2D_method_region_set_navigation_layers>`, которые затем можно проверить при запросе пути с помощью :ref:`map_get_path()<class_NavigationServer2D_method_map_get_path>`. Это можно использовать для разрешения или запрета определенных областей для некоторых объектов.
Чтобы использовать систему избежания столкновений, вы можете использовать агентов. Вы можете установить целевую скорость агента, затем серверы отправят обратный вызов с измененной скоростью.
\ **Примечание:** Система избежания столкновений игнорирует области. Использование измененной скорости напрямую может переместить агента за пределы проходимой области. Это ограничение системы избежания столкновений, любая более сложная ситуация может потребовать использования физического движка.
Этот сервер отслеживает все вызовы и выполняет их во время фазы синхронизации. Это означает, что вы можете запросить любое изменение карты, используя любой поток, не беспокоясь.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- :doc:`Использование NavigationServer <../tutorials/navigation/navigation_using_navigationservers>`
- `Навигационный полигон 2D Демо <https://godotengine.org/asset-library/asset/2722>`__
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`agent_create<class_NavigationServer2D_method_agent_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`agent_get_avoidance_enabled<class_NavigationServer2D_method_agent_get_avoidance_enabled>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`agent_get_avoidance_layers<class_NavigationServer2D_method_agent_get_avoidance_layers>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`agent_get_avoidance_mask<class_NavigationServer2D_method_agent_get_avoidance_mask>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_avoidance_priority<class_NavigationServer2D_method_agent_get_avoidance_priority>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`agent_get_map<class_NavigationServer2D_method_agent_get_map>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`agent_get_max_neighbors<class_NavigationServer2D_method_agent_get_max_neighbors>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_max_speed<class_NavigationServer2D_method_agent_get_max_speed>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_neighbor_distance<class_NavigationServer2D_method_agent_get_neighbor_distance>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`agent_get_paused<class_NavigationServer2D_method_agent_get_paused>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`agent_get_position<class_NavigationServer2D_method_agent_get_position>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_radius<class_NavigationServer2D_method_agent_get_radius>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_time_horizon_agents<class_NavigationServer2D_method_agent_get_time_horizon_agents>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_get_time_horizon_obstacles<class_NavigationServer2D_method_agent_get_time_horizon_obstacles>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`agent_get_velocity<class_NavigationServer2D_method_agent_get_velocity>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`agent_has_avoidance_callback<class_NavigationServer2D_method_agent_has_avoidance_callback>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`agent_is_map_changed<class_NavigationServer2D_method_agent_is_map_changed>`\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_avoidance_callback<class_NavigationServer2D_method_agent_set_avoidance_callback>`\ (\ agent\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_avoidance_enabled<class_NavigationServer2D_method_agent_set_avoidance_enabled>`\ (\ agent\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_avoidance_layers<class_NavigationServer2D_method_agent_set_avoidance_layers>`\ (\ agent\: :ref:`RID<class_RID>`, layers\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_avoidance_mask<class_NavigationServer2D_method_agent_set_avoidance_mask>`\ (\ agent\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_avoidance_priority<class_NavigationServer2D_method_agent_set_avoidance_priority>`\ (\ agent\: :ref:`RID<class_RID>`, priority\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_map<class_NavigationServer2D_method_agent_set_map>`\ (\ agent\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_max_neighbors<class_NavigationServer2D_method_agent_set_max_neighbors>`\ (\ agent\: :ref:`RID<class_RID>`, count\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_max_speed<class_NavigationServer2D_method_agent_set_max_speed>`\ (\ agent\: :ref:`RID<class_RID>`, max_speed\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_neighbor_distance<class_NavigationServer2D_method_agent_set_neighbor_distance>`\ (\ agent\: :ref:`RID<class_RID>`, distance\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_paused<class_NavigationServer2D_method_agent_set_paused>`\ (\ agent\: :ref:`RID<class_RID>`, paused\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_position<class_NavigationServer2D_method_agent_set_position>`\ (\ agent\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_radius<class_NavigationServer2D_method_agent_set_radius>`\ (\ agent\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_time_horizon_agents<class_NavigationServer2D_method_agent_set_time_horizon_agents>`\ (\ agent\: :ref:`RID<class_RID>`, time_horizon\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_time_horizon_obstacles<class_NavigationServer2D_method_agent_set_time_horizon_obstacles>`\ (\ agent\: :ref:`RID<class_RID>`, time_horizon\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_velocity<class_NavigationServer2D_method_agent_set_velocity>`\ (\ agent\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`agent_set_velocity_forced<class_NavigationServer2D_method_agent_set_velocity_forced>`\ (\ agent\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`bake_from_source_geometry_data<class_NavigationServer2D_method_bake_from_source_geometry_data>`\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`bake_from_source_geometry_data_async<class_NavigationServer2D_method_bake_from_source_geometry_data_async>`\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`free_rid<class_NavigationServer2D_method_free_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_debug_enabled<class_NavigationServer2D_method_get_debug_enabled>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`get_maps<class_NavigationServer2D_method_get_maps>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_process_info<class_NavigationServer2D_method_get_process_info>`\ (\ process_info\: :ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_baking_navigation_polygon<class_NavigationServer2D_method_is_baking_navigation_polygon>`\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`link_create<class_NavigationServer2D_method_link_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`link_get_enabled<class_NavigationServer2D_method_link_get_enabled>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`link_get_end_position<class_NavigationServer2D_method_link_get_end_position>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`link_get_enter_cost<class_NavigationServer2D_method_link_get_enter_cost>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`link_get_iteration_id<class_NavigationServer2D_method_link_get_iteration_id>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`link_get_map<class_NavigationServer2D_method_link_get_map>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`link_get_navigation_layers<class_NavigationServer2D_method_link_get_navigation_layers>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`link_get_owner_id<class_NavigationServer2D_method_link_get_owner_id>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`link_get_start_position<class_NavigationServer2D_method_link_get_start_position>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`link_get_travel_cost<class_NavigationServer2D_method_link_get_travel_cost>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`link_is_bidirectional<class_NavigationServer2D_method_link_is_bidirectional>`\ (\ link\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_bidirectional<class_NavigationServer2D_method_link_set_bidirectional>`\ (\ link\: :ref:`RID<class_RID>`, bidirectional\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_enabled<class_NavigationServer2D_method_link_set_enabled>`\ (\ link\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_end_position<class_NavigationServer2D_method_link_set_end_position>`\ (\ link\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_enter_cost<class_NavigationServer2D_method_link_set_enter_cost>`\ (\ link\: :ref:`RID<class_RID>`, enter_cost\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_map<class_NavigationServer2D_method_link_set_map>`\ (\ link\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_navigation_layers<class_NavigationServer2D_method_link_set_navigation_layers>`\ (\ link\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_owner_id<class_NavigationServer2D_method_link_set_owner_id>`\ (\ link\: :ref:`RID<class_RID>`, owner_id\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_start_position<class_NavigationServer2D_method_link_set_start_position>`\ (\ link\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`link_set_travel_cost<class_NavigationServer2D_method_link_set_travel_cost>`\ (\ link\: :ref:`RID<class_RID>`, travel_cost\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`map_create<class_NavigationServer2D_method_map_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_force_update<class_NavigationServer2D_method_map_force_update>`\ (\ map\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`map_get_agents<class_NavigationServer2D_method_map_get_agents>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`map_get_cell_size<class_NavigationServer2D_method_map_get_cell_size>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`map_get_closest_point<class_NavigationServer2D_method_map_get_closest_point>`\ (\ map\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`map_get_closest_point_owner<class_NavigationServer2D_method_map_get_closest_point_owner>`\ (\ map\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`map_get_edge_connection_margin<class_NavigationServer2D_method_map_get_edge_connection_margin>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`map_get_iteration_id<class_NavigationServer2D_method_map_get_iteration_id>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`map_get_link_connection_radius<class_NavigationServer2D_method_map_get_link_connection_radius>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`map_get_links<class_NavigationServer2D_method_map_get_links>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`map_get_merge_rasterizer_cell_scale<class_NavigationServer2D_method_map_get_merge_rasterizer_cell_scale>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`map_get_obstacles<class_NavigationServer2D_method_map_get_obstacles>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`map_get_path<class_NavigationServer2D_method_map_get_path>`\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`map_get_random_point<class_NavigationServer2D_method_map_get_random_point>`\ (\ map\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`map_get_regions<class_NavigationServer2D_method_map_get_regions>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`map_get_use_async_iterations<class_NavigationServer2D_method_map_get_use_async_iterations>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`map_get_use_edge_connections<class_NavigationServer2D_method_map_get_use_edge_connections>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`map_is_active<class_NavigationServer2D_method_map_is_active>`\ (\ map\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_active<class_NavigationServer2D_method_map_set_active>`\ (\ map\: :ref:`RID<class_RID>`, active\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_cell_size<class_NavigationServer2D_method_map_set_cell_size>`\ (\ map\: :ref:`RID<class_RID>`, cell_size\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_edge_connection_margin<class_NavigationServer2D_method_map_set_edge_connection_margin>`\ (\ map\: :ref:`RID<class_RID>`, margin\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_link_connection_radius<class_NavigationServer2D_method_map_set_link_connection_radius>`\ (\ map\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_merge_rasterizer_cell_scale<class_NavigationServer2D_method_map_set_merge_rasterizer_cell_scale>`\ (\ map\: :ref:`RID<class_RID>`, scale\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_use_async_iterations<class_NavigationServer2D_method_map_set_use_async_iterations>`\ (\ map\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`map_set_use_edge_connections<class_NavigationServer2D_method_map_set_use_edge_connections>`\ (\ map\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`obstacle_create<class_NavigationServer2D_method_obstacle_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`obstacle_get_avoidance_enabled<class_NavigationServer2D_method_obstacle_get_avoidance_enabled>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`obstacle_get_avoidance_layers<class_NavigationServer2D_method_obstacle_get_avoidance_layers>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`obstacle_get_map<class_NavigationServer2D_method_obstacle_get_map>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`obstacle_get_paused<class_NavigationServer2D_method_obstacle_get_paused>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`obstacle_get_position<class_NavigationServer2D_method_obstacle_get_position>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`obstacle_get_radius<class_NavigationServer2D_method_obstacle_get_radius>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`obstacle_get_velocity<class_NavigationServer2D_method_obstacle_get_velocity>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`obstacle_get_vertices<class_NavigationServer2D_method_obstacle_get_vertices>`\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_avoidance_enabled<class_NavigationServer2D_method_obstacle_set_avoidance_enabled>`\ (\ obstacle\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_avoidance_layers<class_NavigationServer2D_method_obstacle_set_avoidance_layers>`\ (\ obstacle\: :ref:`RID<class_RID>`, layers\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_map<class_NavigationServer2D_method_obstacle_set_map>`\ (\ obstacle\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_paused<class_NavigationServer2D_method_obstacle_set_paused>`\ (\ obstacle\: :ref:`RID<class_RID>`, paused\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_position<class_NavigationServer2D_method_obstacle_set_position>`\ (\ obstacle\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_radius<class_NavigationServer2D_method_obstacle_set_radius>`\ (\ obstacle\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_velocity<class_NavigationServer2D_method_obstacle_set_velocity>`\ (\ obstacle\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`obstacle_set_vertices<class_NavigationServer2D_method_obstacle_set_vertices>`\ (\ obstacle\: :ref:`RID<class_RID>`, vertices\: :ref:`PackedVector2Array<class_PackedVector2Array>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>`\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, root_node\: :ref:`Node<class_Node>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`query_path<class_NavigationServer2D_method_query_path>`\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`region_create<class_NavigationServer2D_method_region_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`region_get_bounds<class_NavigationServer2D_method_region_get_bounds>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`region_get_closest_point<class_NavigationServer2D_method_region_get_closest_point>`\ (\ region\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`region_get_connection_pathway_end<class_NavigationServer2D_method_region_get_connection_pathway_end>`\ (\ region\: :ref:`RID<class_RID>`, connection\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`region_get_connection_pathway_start<class_NavigationServer2D_method_region_get_connection_pathway_start>`\ (\ region\: :ref:`RID<class_RID>`, connection\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`region_get_connections_count<class_NavigationServer2D_method_region_get_connections_count>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`region_get_enabled<class_NavigationServer2D_method_region_get_enabled>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`region_get_enter_cost<class_NavigationServer2D_method_region_get_enter_cost>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`region_get_iteration_id<class_NavigationServer2D_method_region_get_iteration_id>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`region_get_map<class_NavigationServer2D_method_region_get_map>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`region_get_navigation_layers<class_NavigationServer2D_method_region_get_navigation_layers>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`region_get_owner_id<class_NavigationServer2D_method_region_get_owner_id>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`region_get_random_point<class_NavigationServer2D_method_region_get_random_point>`\ (\ region\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`region_get_transform<class_NavigationServer2D_method_region_get_transform>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`region_get_travel_cost<class_NavigationServer2D_method_region_get_travel_cost>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`region_get_use_async_iterations<class_NavigationServer2D_method_region_get_use_async_iterations>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`region_get_use_edge_connections<class_NavigationServer2D_method_region_get_use_edge_connections>`\ (\ region\: :ref:`RID<class_RID>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`region_owns_point<class_NavigationServer2D_method_region_owns_point>`\ (\ region\: :ref:`RID<class_RID>`, point\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_enabled<class_NavigationServer2D_method_region_set_enabled>`\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_enter_cost<class_NavigationServer2D_method_region_set_enter_cost>`\ (\ region\: :ref:`RID<class_RID>`, enter_cost\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_map<class_NavigationServer2D_method_region_set_map>`\ (\ region\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_navigation_layers<class_NavigationServer2D_method_region_set_navigation_layers>`\ (\ region\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_navigation_polygon<class_NavigationServer2D_method_region_set_navigation_polygon>`\ (\ region\: :ref:`RID<class_RID>`, navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_owner_id<class_NavigationServer2D_method_region_set_owner_id>`\ (\ region\: :ref:`RID<class_RID>`, owner_id\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_transform<class_NavigationServer2D_method_region_set_transform>`\ (\ region\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_travel_cost<class_NavigationServer2D_method_region_set_travel_cost>`\ (\ region\: :ref:`RID<class_RID>`, travel_cost\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_use_async_iterations<class_NavigationServer2D_method_region_set_use_async_iterations>`\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`region_set_use_edge_connections<class_NavigationServer2D_method_region_set_use_edge_connections>`\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_active<class_NavigationServer2D_method_set_active>`\ (\ active\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_debug_enabled<class_NavigationServer2D_method_set_debug_enabled>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`simplify_path<class_NavigationServer2D_method_simplify_path>`\ (\ path\: :ref:`PackedVector2Array<class_PackedVector2Array>`, epsilon\: :ref:`float<class_float>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`source_geometry_parser_create<class_NavigationServer2D_method_source_geometry_parser_create>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`source_geometry_parser_set_callback<class_NavigationServer2D_method_source_geometry_parser_set_callback>`\ (\ parser\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_NavigationServer2D_signal_avoidance_debug_changed:
.. rst-class:: classref-signal
**avoidance_debug_changed**\ (\ ) :ref:`🔗<class_NavigationServer2D_signal_avoidance_debug_changed>`
Выдается при изменении настроек отладки избегания. Доступно только в отладочных сборках.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_signal_map_changed:
.. rst-class:: classref-signal
**map_changed**\ (\ map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_signal_map_changed>`
Выдается при обновлении навигационной карты, при перемещении или изменении региона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_signal_navigation_debug_changed:
.. rst-class:: classref-signal
**navigation_debug_changed**\ (\ ) :ref:`🔗<class_NavigationServer2D_signal_navigation_debug_changed>`
Выдается при изменении настроек отладки навигации. Доступно только в отладочных сборках.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_NavigationServer2D_ProcessInfo:
.. rst-class:: classref-enumeration
enum **ProcessInfo**: :ref:`🔗<enum_NavigationServer2D_ProcessInfo>`
.. _class_NavigationServer2D_constant_INFO_ACTIVE_MAPS:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_ACTIVE_MAPS** = ``0``
Константа для получения количества активных навигационных карт.
.. _class_NavigationServer2D_constant_INFO_REGION_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_REGION_COUNT** = ``1``
Константа для получения количества активных навигационных регионов.
.. _class_NavigationServer2D_constant_INFO_AGENT_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_AGENT_COUNT** = ``2``
Константа для получения количества активных навигационных агентов, обрабатывающих избегание.
.. _class_NavigationServer2D_constant_INFO_LINK_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_LINK_COUNT** = ``3``
Константа для получения количества активных навигационных ссылок.
.. _class_NavigationServer2D_constant_INFO_POLYGON_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_POLYGON_COUNT** = ``4``
Константа для получения количества полигонов навигационной сетки.
.. _class_NavigationServer2D_constant_INFO_EDGE_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_EDGE_COUNT** = ``5``
Константа для получения количества ребер полигона навигационной сетки.
.. _class_NavigationServer2D_constant_INFO_EDGE_MERGE_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_EDGE_MERGE_COUNT** = ``6``
Константа для получения количества ребер полигонов навигационной сетки, которые были объединены из-за перекрытия ключей ребер.
.. _class_NavigationServer2D_constant_INFO_EDGE_CONNECTION_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_EDGE_CONNECTION_COUNT** = ``7``
Константа для получения количества ребер полигонов навигационной сетки, которые считаются связанными по близости ребер.
.. _class_NavigationServer2D_constant_INFO_EDGE_FREE_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_EDGE_FREE_COUNT** = ``8``
Константа для получения количества ребер полигонов навигационной сетки, которые не удалось объединить, но которые все еще могут быть соединены близостью ребер или связями.
.. _class_NavigationServer2D_constant_INFO_OBSTACLE_COUNT:
.. rst-class:: classref-enumeration-constant
:ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>` **INFO_OBSTACLE_COUNT** = ``9``
Константа для получения количества активных навигационных препятствий.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_NavigationServer2D_method_agent_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **agent_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_agent_create>`
Создает агента.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_avoidance_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **agent_get_avoidance_enabled**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_avoidance_enabled>`
Верните ``true``, если указанный ``agent`` использует избегание (аннулирование).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_avoidance_layers:
.. rst-class:: classref-method
:ref:`int<class_int>` **agent_get_avoidance_layers**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_avoidance_layers>`
Возвращает битовую маску ``avoidance_layers`` указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_avoidance_mask:
.. rst-class:: classref-method
:ref:`int<class_int>` **agent_get_avoidance_mask**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_avoidance_mask>`
Возвращает битовую маску ``avoidance_mask`` указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_avoidance_priority:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_avoidance_priority**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_avoidance_priority>`
Возвращает ``avoidance_priority`` указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_map:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **agent_get_map**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_map>`
Возвращает :ref:`RID<class_RID>` навигационной карты , которой в данный момент назначен запрошенный ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_max_neighbors:
.. rst-class:: classref-method
:ref:`int<class_int>` **agent_get_max_neighbors**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_max_neighbors>`
Возвращает максимальное количество других агентов, которые указанный ``agent`` учитывает при навигации.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_max_speed:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_max_speed**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_max_speed>`
Возвращает максимальную скорость указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_neighbor_distance:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_neighbor_distance**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_neighbor_distance>`
Возвращает максимальное расстояние до других агентов, которое указанный ``agent`` учитывает при навигации.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_paused:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **agent_get_paused**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_paused>`
Возвращает ``true``, если указанный ``agent`` приостановлен.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **agent_get_position**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_position>`
Возвращает позицию указанного ``agent`` в мировом пространстве.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_radius:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_radius**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_radius>`
Возвращает радиус указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_time_horizon_agents:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_time_horizon_agents**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_time_horizon_agents>`
Возвращает минимальное количество времени, в течение которого скорости указанного ``agent``, вычисленные при моделировании, безопасны по отношению к другим агентам.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_time_horizon_obstacles:
.. rst-class:: classref-method
:ref:`float<class_float>` **agent_get_time_horizon_obstacles**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_time_horizon_obstacles>`
Возвращает минимальное количество времени, в течение которого скорости указанного ``agent``, вычисленные при моделировании, безопасны по отношению к статическим препятствиям для избегания.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_get_velocity:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **agent_get_velocity**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_get_velocity>`
Возвращает скорость указанного ``agent``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_has_avoidance_callback:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **agent_has_avoidance_callback**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_has_avoidance_callback>`
Верните ``true``, если указанный ``agent`` имеет обратный вызов для избегания.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_is_map_changed:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **agent_is_map_changed**\ (\ agent\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_agent_is_map_changed>`
Возвращает ``true``, если карта была изменена в предыдущем кадре.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_avoidance_callback:
.. rst-class:: classref-method
|void| **agent_set_avoidance_callback**\ (\ agent\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_avoidance_callback>`
Устанавливает обратный вызов :ref:`Callable<class_Callable>`, который вызывается после каждого шага обработки избегания для ``agent``. Вычисленный ``safe_velocity`` будет отправлен с сигналом объекту непосредственно перед физическими расчетами.
\ **Примечание:** Созданные обратные вызовы всегда обрабатываются независимо от состояния SceneTree, пока агент находится на навигационной карте и не освобожден. Чтобы отключить отправку обратного вызова от агента, снова используйте :ref:`agent_set_avoidance_callback()<class_NavigationServer2D_method_agent_set_avoidance_callback>` с пустым :ref:`Callable<class_Callable>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_avoidance_enabled:
.. rst-class:: classref-method
|void| **agent_set_avoidance_enabled**\ (\ agent\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_avoidance_enabled>`
Если ``enabled`` имеет значение ``true``, указанный ``agent`` использует избегание.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_avoidance_layers:
.. rst-class:: classref-method
|void| **agent_set_avoidance_layers**\ (\ agent\: :ref:`RID<class_RID>`, layers\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_avoidance_layers>`
Установите битовую маску агента ``avoidance_layers``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_avoidance_mask:
.. rst-class:: classref-method
|void| **agent_set_avoidance_mask**\ (\ agent\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_avoidance_mask>`
Установите битовую маску ``avoidance_mask`` агента.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_avoidance_priority:
.. rst-class:: classref-method
|void| **agent_set_avoidance_priority**\ (\ agent\: :ref:`RID<class_RID>`, priority\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_avoidance_priority>`
Установите ``avoidance_priority`` агента с ``priority`` от 0,0 (самый низкий приоритет) до 1,0 (самый высокий приоритет).
Указанный ``agent`` не корректирует скорость для других агентов, которые соответствуют ``avoidance_mask``, но имеют более низкий ``avoidance_priority``. Это, в свою очередь, заставляет других агентов с более низким приоритетом корректировать свои скорости еще больше, чтобы избежать столкновения с этим агентом.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_map:
.. rst-class:: classref-method
|void| **agent_set_map**\ (\ agent\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_map>`
Размещает агента на карте.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_max_neighbors:
.. rst-class:: classref-method
|void| **agent_set_max_neighbors**\ (\ agent\: :ref:`RID<class_RID>`, count\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_max_neighbors>`
Устанавливает максимальное количество других агентов, которые агент учитывает при навигации. Чем больше это число, тем дольше время выполнения симуляции. Если число слишком мало, симуляция не будет безопасной.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_max_speed:
.. rst-class:: classref-method
|void| **agent_set_max_speed**\ (\ agent\: :ref:`RID<class_RID>`, max_speed\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_max_speed>`
Устанавливает максимальную скорость агента. Должна быть положительной.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_neighbor_distance:
.. rst-class:: classref-method
|void| **agent_set_neighbor_distance**\ (\ agent\: :ref:`RID<class_RID>`, distance\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_neighbor_distance>`
Устанавливает максимальное расстояние до других агентов, которое этот агент учитывает при навигации. Чем больше это число, тем дольше время выполнения симуляции. Если число слишком мало, симуляция не будет безопасной.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_paused:
.. rst-class:: classref-method
|void| **agent_set_paused**\ (\ agent\: :ref:`RID<class_RID>`, paused\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_paused>`
Если ``paused`` равно ``true``, указанный ``agent`` не будет обработан. Например, он не будет рассчитывать скорости уклонения или получать обратные вызовы уклонения.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_position:
.. rst-class:: classref-method
|void| **agent_set_position**\ (\ agent\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_position>`
Устанавливает положение агента в мировом пространстве.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_radius:
.. rst-class:: classref-method
|void| **agent_set_radius**\ (\ agent\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_radius>`
Устанавливает радиус действия агента.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_time_horizon_agents:
.. rst-class:: classref-method
|void| **agent_set_time_horizon_agents**\ (\ agent\: :ref:`RID<class_RID>`, time_horizon\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_time_horizon_agents>`
Минимальное количество времени, в течение которого скорости агента, вычисленные симуляцией, безопасны по отношению к другим агентам. Чем больше это число, тем скорее этот агент отреагирует на присутствие других агентов, но тем меньше у него свободы в выборе своих скоростей. Слишком большое значение значительно замедлит движение агентов. Должно быть положительным.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_time_horizon_obstacles:
.. rst-class:: classref-method
|void| **agent_set_time_horizon_obstacles**\ (\ agent\: :ref:`RID<class_RID>`, time_horizon\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_time_horizon_obstacles>`
Минимальное количество времени, в течение которого скорости агента, вычисленные симуляцией, безопасны относительно статических препятствий для избегания. Чем больше это число, тем скорее этот агент отреагирует на наличие статических препятствий для избегания, но тем меньше у этого агента свободы в выборе своих скоростей. Слишком большое значение значительно замедлит движение агентов. Должно быть положительным.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_velocity:
.. rst-class:: classref-method
|void| **agent_set_velocity**\ (\ agent\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_velocity>`
Устанавливает ``velocity`` как новую желаемую скорость для указанного ``agent``. Моделирование избегания попытается достичь этой скорости, если это возможно, но изменит ее, чтобы избежать столкновения с другими агентами и препятствиями. Когда агент телепортируется в новое положение далеко, используйте :ref:`agent_set_velocity_forced()<class_NavigationServer2D_method_agent_set_velocity_forced>` вместо этого, чтобы сбросить внутреннее состояние скорости.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_agent_set_velocity_forced:
.. rst-class:: classref-method
|void| **agent_set_velocity_forced**\ (\ agent\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_agent_set_velocity_forced>`
Заменяет внутреннюю скорость в моделировании избегания столкновений на ``velocity`` для указанного ``agent``. Когда агент телепортируется в новое положение далеко, эта функция должна использоваться в том же кадре. При частом вызове эта функция может привести к застреванию агентов.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_bake_from_source_geometry_data:
.. rst-class:: classref-method
|void| **bake_from_source_geometry_data**\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer2D_method_bake_from_source_geometry_data>`
Запекает предоставленный ``navigation_polygon`` с данными из предоставленного ``source_geometry_data``. После завершения процесса будет вызван необязательный ``callback``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_bake_from_source_geometry_data_async:
.. rst-class:: classref-method
|void| **bake_from_source_geometry_data_async**\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer2D_method_bake_from_source_geometry_data_async>`
Запекает предоставленный ``navigation_polygon`` с данными из предоставленного ``source_geometry_data`` как асинхронную задачу, работающую в фоновом потоке. После завершения процесса будет вызван необязательный ``callback``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_free_rid:
.. rst-class:: classref-method
|void| **free_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_free_rid>`
Уничтожает указанный RID.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_get_debug_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_debug_enabled**\ (\ ) |const| :ref:`🔗<class_NavigationServer2D_method_get_debug_enabled>`
Возвращает ``true``, когда NavigationServer включает отладку.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_get_maps:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **get_maps**\ (\ ) |const| :ref:`🔗<class_NavigationServer2D_method_get_maps>`
Возвращает все созданные навигационные карты :ref:`RID<class_RID>` на NavigationServer. Это возвращает как 2D, так и 3D созданные навигационные карты, поскольку между ними нет технического различия.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_get_process_info:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_process_info**\ (\ process_info\: :ref:`ProcessInfo<enum_NavigationServer2D_ProcessInfo>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_get_process_info>`
Возвращает информацию о текущем состоянии NavigationServer.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_is_baking_navigation_polygon:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_baking_navigation_polygon**\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_is_baking_navigation_polygon>`
Возвращает ``true``, когда предоставленный навигационный полигон запекается в фоновом потоке.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **link_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_link_create>`
Создайте новую связь (Link) между двумя позициями на карте.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **link_get_enabled**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_enabled>`
Возвращает ``true``, если указанная ``link`` включена.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_end_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **link_get_end_position**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_end_position>`
Возвращает конечную позицию ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_enter_cost:
.. rst-class:: classref-method
:ref:`float<class_float>` **link_get_enter_cost**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_enter_cost>`
Возвращает входную стоимость этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_iteration_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **link_get_iteration_id**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_iteration_id>`
Возвращает текущий идентификатор итерации навигационной ссылки. Каждый раз, когда навигационная ссылка изменяется и синхронизируется, идентификатор итерации увеличивается. Идентификатор итерации ``0`` означает, что навигационная ссылка никогда не синхронизировалась.
\ **Примечание:** Идентификатор итерации вернется к ``1`` после достижения предела диапазона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_map:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **link_get_map**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_map>`
Возвращает навигационную карту :ref:`RID<class_RID>`, которой в данный момент назначена запрошенная ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_navigation_layers:
.. rst-class:: classref-method
:ref:`int<class_int>` **link_get_navigation_layers**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_navigation_layers>`
Возвращает слои навигации для этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_owner_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **link_get_owner_id**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_owner_id>`
Возвращает ``ObjectID`` объекта, который управляет этой ссылкой.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_start_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **link_get_start_position**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_start_position>`
Возвращает начальную позицию этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_get_travel_cost:
.. rst-class:: classref-method
:ref:`float<class_float>` **link_get_travel_cost**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_get_travel_cost>`
Возвращает стоимость поездки по этому ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_is_bidirectional:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **link_is_bidirectional**\ (\ link\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_link_is_bidirectional>`
Возвращает, можно ли перемещаться по ``link`` в обоих направлениях.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_bidirectional:
.. rst-class:: classref-method
|void| **link_set_bidirectional**\ (\ link\: :ref:`RID<class_RID>`, bidirectional\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_bidirectional>`
Устанавливает, можно ли перемещаться по этой ``link`` в обоих направлениях.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_enabled:
.. rst-class:: classref-method
|void| **link_set_enabled**\ (\ link\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_enabled>`
Если ``enabled`` имеет значение ``true``, указанная ``link`` будет добавлена к текущей навигационной карте.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_end_position:
.. rst-class:: classref-method
|void| **link_set_end_position**\ (\ link\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_end_position>`
Устанавливает позицию выхода для ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_enter_cost:
.. rst-class:: classref-method
|void| **link_set_enter_cost**\ (\ link\: :ref:`RID<class_RID>`, enter_cost\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_enter_cost>`
Устанавливает ``enter_cost`` для этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_map:
.. rst-class:: classref-method
|void| **link_set_map**\ (\ link\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_map>`
Устанавливает навигационную карту :ref:`RID<class_RID>` для ссылки.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_navigation_layers:
.. rst-class:: classref-method
|void| **link_set_navigation_layers**\ (\ link\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_navigation_layers>`
Установить навигационные слои ссылок. Это позволяет выбирать ссылки из запроса пути (при использовании :ref:`map_get_path()<class_NavigationServer2D_method_map_get_path>`).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_owner_id:
.. rst-class:: classref-method
|void| **link_set_owner_id**\ (\ link\: :ref:`RID<class_RID>`, owner_id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_owner_id>`
Установите ``ObjectID`` объекта, который управляет этой ссылкой.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_start_position:
.. rst-class:: classref-method
|void| **link_set_start_position**\ (\ link\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_start_position>`
Устанавливает позицию входа для этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_link_set_travel_cost:
.. rst-class:: classref-method
|void| **link_set_travel_cost**\ (\ link\: :ref:`RID<class_RID>`, travel_cost\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_link_set_travel_cost>`
Устанавливает ``travel_cost`` для этого ``link``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **map_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_map_create>`
Создайте новую карту.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_force_update:
.. rst-class:: classref-method
|void| **map_force_update**\ (\ map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_force_update>`
**Устарело:** This method is no longer supported, as it is incompatible with asynchronous updates. It can only be used in a single-threaded context, at your own risk.
Эта функция немедленно принудительно синхронизирует указанную навигационную ``map`` :ref:`RID<class_RID>`. По умолчанию навигационные карты синхронизируются только в конце каждого физического кадра. Эту функцию можно использовать для немедленного (пере)расчета всех навигационных сеток и связей регионов навигационной карты. Это позволяет немедленно запросить навигационный путь для измененной карты в том же кадре (несколько раз, если необходимо).
Из-за технических ограничений текущая очередь команд NavigationServer будет очищена. Это означает, что будут выполнены все уже поставленные в очередь команды обновления для этого физического кадра, даже те, которые предназначены для других карт, регионов и агентов, не являющихся частью указанной карты. Дорогостоящие вычисления навигационных сеток и связей регионов карты будут выполнены только для указанной карты. Другие карты получат обычную синхронизацию в конце физического кадра. Если указанная карта получит изменения после принудительного обновления, она также обновится снова, когда другие карты получат свое обновление.
Обработка уклонения и отправка сигналов ``safe_velocity`` не затрагивается этой функцией и продолжает происходить для всех карт и агентов в конце физического кадра.
\ **Примечание:** С большой силой приходит большая ответственность. Эту функцию должны использовать только пользователи, которые действительно знают, что они делают, и имеют на это вескую причину. Принудительное немедленное обновление навигационной карты требует блокировки NavigationServer и очистки всей очереди команд NavigationServer. Это может не только серьезно повлиять на производительность игры, но и привести к ошибкам, если использовать их ненадлежащим образом без особой дальновидности.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_agents:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **map_get_agents**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_agents>`
Возвращает все навигационные агенты :ref:`RID<class_RID>`, которые в данный момент назначены запрошенной навигационной карте ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_cell_size:
.. rst-class:: classref-method
:ref:`float<class_float>` **map_get_cell_size**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_cell_size>`
Возвращает размер ячейки карты, используемый для растеризации вершин навигационной сетки.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_closest_point:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **map_get_closest_point**\ (\ map\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_closest_point>`
Возвращает точку поверхности навигационной сетки, ближайшую к указанному ``to_point`` на навигационной ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_closest_point_owner:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **map_get_closest_point_owner**\ (\ map\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_closest_point_owner>`
Возвращает точку поверхности навигационной сетки, ближайшую к указанному ``to_point`` на навигационной ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_edge_connection_margin:
.. rst-class:: classref-method
:ref:`float<class_float>` **map_get_edge_connection_margin**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_edge_connection_margin>`
Возвращает границу соединения ребер карты. Грань соединения ребер — это расстояние, используемое для соединения двух регионов.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_iteration_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **map_get_iteration_id**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_iteration_id>`
Возвращает текущий идентификатор итерации навигационной карты. Каждый раз, когда навигационная карта изменяется и синхронизируется, идентификатор итерации увеличивается. Идентификатор итерации 0 означает, что навигационная карта никогда не синхронизировалась.
\ **Примечание:** Идентификатор итерации вернется к 1 после достижения предела диапазона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_link_connection_radius:
.. rst-class:: classref-method
:ref:`float<class_float>` **map_get_link_connection_radius**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_link_connection_radius>`
Возвращает радиус соединения ссылок карты. Это расстояние является максимальным диапазоном, в котором любая ссылка будет искать полигоны навигационной сетки для соединения.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_links:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **map_get_links**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_links>`
Возвращает все навигационные ссылки :ref:`RID<class_RID>`-ов, которые в данный момент назначены запрошенной навигационной карте ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_merge_rasterizer_cell_scale:
.. rst-class:: classref-method
:ref:`float<class_float>` **map_get_merge_rasterizer_cell_scale**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_merge_rasterizer_cell_scale>`
Возвращает внутренний масштаб ячеек растеризатора слияния карты.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_obstacles:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **map_get_obstacles**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_obstacles>`
Возвращает все навигационные препятствия :ref:`RID<class_RID>`-ов, которые в данный момент назначены запрошенной навигационной карте ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_path:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **map_get_path**\ (\ map\: :ref:`RID<class_RID>`, origin\: :ref:`Vector2<class_Vector2>`, destination\: :ref:`Vector2<class_Vector2>`, optimize\: :ref:`bool<class_bool>`, navigation_layers\: :ref:`int<class_int>` = 1\ ) :ref:`🔗<class_NavigationServer2D_method_map_get_path>`
Возвращает путь навигации для достижения пункта назначения из исходной точки. ``navigation_layers`` — это битовая маска всех слоев навигации региона, которым разрешено находиться на пути.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_random_point:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **map_get_random_point**\ (\ map\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_random_point>`
Возвращает случайную позицию, выбранную из всех полигонов области карты с соответствующими ``navigation_layers``.
Если ``uniformly`` равен ``true``, все области карты, полигоны и грани взвешиваются по площади их поверхности (медленнее).
Если ``uniformly`` равен ``false``, выбираются только случайная область и случайный полигон (быстрее).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_regions:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **map_get_regions**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_regions>`
Возвращает все регионы навигации :ref:`RID<class_RID>`, которые в данный момент назначены запрошенной навигационной карте ``map``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_use_async_iterations:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **map_get_use_async_iterations**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_use_async_iterations>`
Возвращает ``true``, если синхронизация ``map`` использует асинхронный процесс, работающий в фоновом потоке.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_get_use_edge_connections:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **map_get_use_edge_connections**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_get_use_edge_connections>`
Возвращает информацию о том, позволяет ли навигационная ``map`` областям навигации использовать граничные соединения для соединения с другими областями навигации в непосредственной близости от границы граничного соединения навигационной карты.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_is_active:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **map_is_active**\ (\ map\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_map_is_active>`
Возвращает ``true``, если карта активна.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_active:
.. rst-class:: classref-method
|void| **map_set_active**\ (\ map\: :ref:`RID<class_RID>`, active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_active>`
Делает карту активной.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_cell_size:
.. rst-class:: classref-method
|void| **map_set_cell_size**\ (\ map\: :ref:`RID<class_RID>`, cell_size\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_cell_size>`
Устанавливает размер ячейки карты, используемый для растеризации вершин навигационной сетки. Должен совпадать с размером ячейки используемых навигационных сеток.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_edge_connection_margin:
.. rst-class:: classref-method
|void| **map_set_edge_connection_margin**\ (\ map\: :ref:`RID<class_RID>`, margin\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_edge_connection_margin>`
Установите границу соединения краев карты, используемую для склеивания краев совместимых регионов.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_link_connection_radius:
.. rst-class:: classref-method
|void| **map_set_link_connection_radius**\ (\ map\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_link_connection_radius>`
Установите радиус соединения ссылок карты, используемый для соединения ссылок с навигационными полигонами.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_merge_rasterizer_cell_scale:
.. rst-class:: classref-method
|void| **map_set_merge_rasterizer_cell_scale**\ (\ map\: :ref:`RID<class_RID>`, scale\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_merge_rasterizer_cell_scale>`
Установите внутренний масштаб ячеек растеризатора слияния карты, используемый для управления чувствительностью слияния.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_use_async_iterations:
.. rst-class:: classref-method
|void| **map_set_use_async_iterations**\ (\ map\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_use_async_iterations>`
Если ``enabled`` имеет значение ``true``, то синхронизация ``map`` использует асинхронный процесс, который выполняется в фоновом потоке.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_map_set_use_edge_connections:
.. rst-class:: classref-method
|void| **map_set_use_edge_connections**\ (\ map\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_map_set_use_edge_connections>`
Установите использование краевого соединения навигации ``map``. Если ``enabled`` равно ``true``, навигационная карта позволяет навигационным регионам использовать краевые соединения для соединения с другими навигационными регионами в непосредственной близости от границы краевого соединения навигационной карты.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **obstacle_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_create>`
Создает новое навигационное препятствие (obstacle).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_avoidance_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **obstacle_get_avoidance_enabled**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_avoidance_enabled>`
Возвращает ``true``, если для предоставленного ``obstacle`` включено уклонение.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_avoidance_layers:
.. rst-class:: classref-method
:ref:`int<class_int>` **obstacle_get_avoidance_layers**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_avoidance_layers>`
Возвращает битовую маску ``avoidance_layers`` указанного ``obstacle``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_map:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **obstacle_get_map**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_map>`
Возвращает навигационную карту :ref:`RID<class_RID>`, которой в данный момент назначен запрошенный ``obstacle``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_paused:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **obstacle_get_paused**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_paused>`
Возвращает ``true``, если указанное ``obstacle`` приостановлено.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **obstacle_get_position**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_position>`
Возвращает положение указанного ``obstacle`` в мировом пространстве.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_radius:
.. rst-class:: classref-method
:ref:`float<class_float>` **obstacle_get_radius**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_radius>`
Возвращает радиус указанного динамического ``obstacle``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_velocity:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **obstacle_get_velocity**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_velocity>`
Возвращает скорость указанного динамического ``obstacle``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_get_vertices:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **obstacle_get_vertices**\ (\ obstacle\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_obstacle_get_vertices>`
Возвращает вершины контура для указанного ``obstacle``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_avoidance_enabled:
.. rst-class:: classref-method
|void| **obstacle_set_avoidance_enabled**\ (\ obstacle\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_avoidance_enabled>`
Если ``enabled`` имеет значение ``true``, предоставленный ``obstacle`` влияет на избегание с помощью агентов.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_avoidance_layers:
.. rst-class:: classref-method
|void| **obstacle_set_avoidance_layers**\ (\ obstacle\: :ref:`RID<class_RID>`, layers\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_avoidance_layers>`
Установите битовую маску ``avoidance_layers`` препятствий.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_map:
.. rst-class:: classref-method
|void| **obstacle_set_map**\ (\ obstacle\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_map>`
Устанавливает навигационную карту :ref:`RID<class_RID>` для препятствия.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_paused:
.. rst-class:: classref-method
|void| **obstacle_set_paused**\ (\ obstacle\: :ref:`RID<class_RID>`, paused\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_paused>`
Если ``paused`` равно ``true``, то указанный ``obstacle`` не будет обработан. Например, он больше не будет влиять на скорость уклонения.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_position:
.. rst-class:: classref-method
|void| **obstacle_set_position**\ (\ obstacle\: :ref:`RID<class_RID>`, position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_position>`
Устанавливает положение препятствия в мировом пространстве.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_radius:
.. rst-class:: classref-method
|void| **obstacle_set_radius**\ (\ obstacle\: :ref:`RID<class_RID>`, radius\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_radius>`
Устанавливает радиус динамического препятствия.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_velocity:
.. rst-class:: classref-method
|void| **obstacle_set_velocity**\ (\ obstacle\: :ref:`RID<class_RID>`, velocity\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_velocity>`
Устанавливает ``velocity`` для динамического ``obstacle``. Позволяет другим агентам лучше предсказывать движение динамического препятствия. Работает только в сочетании с радиусом препятствия.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_obstacle_set_vertices:
.. rst-class:: classref-method
|void| **obstacle_set_vertices**\ (\ obstacle\: :ref:`RID<class_RID>`, vertices\: :ref:`PackedVector2Array<class_PackedVector2Array>`\ ) :ref:`🔗<class_NavigationServer2D_method_obstacle_set_vertices>`
Устанавливает вершины контура для препятствия. Если вершины закручены по часовой стрелке, агенты будут вталкиваться препятствием, в противном случае они будут выталкиваться.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_parse_source_geometry_data:
.. rst-class:: classref-method
|void| **parse_source_geometry_data**\ (\ navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`, source_geometry_data\: :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`, root_node\: :ref:`Node<class_Node>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer2D_method_parse_source_geometry_data>`
Анализирует :ref:`SceneTree<class_SceneTree>` на предмет исходной геометрии в соответствии со свойствами ``navigation_polygon``. Обновляет предоставленный ресурс ``source_geometry_data`` полученными данными. Затем ресурс можно использовать для запекания навигационной сетки с помощью :ref:`bake_from_source_geometry_data()<class_NavigationServer2D_method_bake_from_source_geometry_data>`. После завершения процесса будет вызван необязательный ``callback``.
\ **Примечание:** Эта функция должна запускаться в основном потоке или с отложенным вызовом, поскольку SceneTree не является потокобезопасным.
\ **Производительность:** Несмотря на удобство, чтение массивов данных из ресурсов :ref:`Mesh<class_Mesh>` может отрицательно повлиять на частоту кадров. Данные должны быть получены от графического процессора, что задерживает :ref:`RenderingServer<class_RenderingServer>` в процессе. Для производительности предпочтительнее использовать, например, формы столкновений или создавать массивы данных полностью в коде.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_query_path:
.. rst-class:: classref-method
|void| **query_path**\ (\ parameters\: :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`, result\: :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>`, callback\: :ref:`Callable<class_Callable>` = Callable()\ ) :ref:`🔗<class_NavigationServer2D_method_query_path>`
Запрашивает путь в заданной навигационной карте. Начальная и конечная позиция, а также другие параметры определяются через :ref:`NavigationPathQueryParameters2D<class_NavigationPathQueryParameters2D>`. Обновляет предоставленный объект результата :ref:`NavigationPathQueryResult2D<class_NavigationPathQueryResult2D>` путем среди других результатов, запрошенных запросом. После завершения процесса будет вызван необязательный ``callback``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **region_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_region_create>`
Создает новый регион.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_bounds:
.. rst-class:: classref-method
:ref:`Rect2<class_Rect2>` **region_get_bounds**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_bounds>`
Возвращает выровненный по осям прямоугольник для преобразованной навигационной сетки ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_closest_point:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **region_get_closest_point**\ (\ region\: :ref:`RID<class_RID>`, to_point\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_closest_point>`
Возвращает точку поверхности навигационной сетки, ближайшую к указанному ``to_point`` в навигационной ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_connection_pathway_end:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **region_get_connection_pathway_end**\ (\ region\: :ref:`RID<class_RID>`, connection\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_connection_pathway_end>`
Возвращает конечную точку соединения. ``connection`` — это индекс между 0 и возвращаемым значением :ref:`region_get_connections_count()<class_NavigationServer2D_method_region_get_connections_count>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_connection_pathway_start:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **region_get_connection_pathway_start**\ (\ region\: :ref:`RID<class_RID>`, connection\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_connection_pathway_start>`
Возвращает начальную точку соединения. ``connection`` — это индекс между 0 и возвращаемым значением :ref:`region_get_connections_count()<class_NavigationServer2D_method_region_get_connections_count>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_connections_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **region_get_connections_count**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_connections_count>`
Возвращает количество связей этого ``region`` с другими регионами на карте.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_enabled:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **region_get_enabled**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_enabled>`
Возвращает ``true``, если указанный ``region`` включен.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_enter_cost:
.. rst-class:: classref-method
:ref:`float<class_float>` **region_get_enter_cost**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_enter_cost>`
Возвращает стоимость входа для этого ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_iteration_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **region_get_iteration_id**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_iteration_id>`
Возвращает текущий идентификатор итерации региона навигации. Каждый раз, когда регион навигации изменяется и синхронизируется, идентификатор итерации увеличивается. Идентификатор итерации ``0`` означает, что регион навигации никогда не синхронизировался.
\ **Примечание:** Идентификатор итерации вернется к ``1`` после достижения предела диапазона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_map:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **region_get_map**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_map>`
Возвращает навигационную карту :ref:`RID<class_RID>`, которой в данный момент назначен запрошенный ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_navigation_layers:
.. rst-class:: classref-method
:ref:`int<class_int>` **region_get_navigation_layers**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_navigation_layers>`
Возвращает навигационные слои региона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_owner_id:
.. rst-class:: classref-method
:ref:`int<class_int>` **region_get_owner_id**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_owner_id>`
Возвращает ``ObjectID`` объекта, который управляет этим регионом.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_random_point:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **region_get_random_point**\ (\ region\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`, uniformly\: :ref:`bool<class_bool>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_random_point>`
Возвращает случайную позицию, выбранную из всех полигонов региона с соответствующим ``navigation_layers``.
Если ``uniformly`` равен ``true``, все полигоны региона и грани взвешиваются по площади их поверхности (медленнее).
Если ``uniformly`` равен ``false``, выбираются только случайный полигон и грань (быстрее).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_transform:
.. rst-class:: classref-method
:ref:`Transform2D<class_Transform2D>` **region_get_transform**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_transform>`
Возвращает глобальное преобразование этого ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_travel_cost:
.. rst-class:: classref-method
:ref:`float<class_float>` **region_get_travel_cost**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_travel_cost>`
Возвращает стоимость поездки в этом ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_use_async_iterations:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **region_get_use_async_iterations**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_use_async_iterations>`
Возвращает ``true``, если ``region`` использует асинхронный процесс синхронизации, работающий в фоновом потоке.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_get_use_edge_connections:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **region_get_use_edge_connections**\ (\ region\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_get_use_edge_connections>`
Возвращает значение, указывающее, настроена ли навигационная область ``region`` на использование краевых соединений для соединения с другими навигационными областями в непосредственной близости от границы краевого соединения навигационной карты.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_owns_point:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **region_owns_point**\ (\ region\: :ref:`RID<class_RID>`, point\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_NavigationServer2D_method_region_owns_point>`
Возвращает ``true``, если предоставленная ``point`` в мировом пространстве в настоящее время принадлежит предоставленной навигации ``region``. Владение в этом контексте означает, что одна из граней полигонов сетки навигации региона имеет возможное положение на самом близком расстоянии к этой точке по сравнению со всеми другими сетками навигации из других регионов навигации, которые также зарегистрированы на навигационной карте предоставленного региона.
Если несколько сеток навигации имеют положения на равном расстоянии, то навигационная область, полигоны которой обрабатываются первой, выигрывает право собственности. Полигоны обрабатываются в том же порядке, в котором навигационные области были зарегистрированы на NavigationServer.
\ **Примечание:** Если навигационные сетки из разных регионов навигации перекрываются (чего следует избегать в целом), результат может оказаться не таким, как ожидалось.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_enabled:
.. rst-class:: classref-method
|void| **region_set_enabled**\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_enabled>`
Если ``enabled`` имеет значение ``true``, указанный ``region`` будет добавлен к текущей навигационной карте.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_enter_cost:
.. rst-class:: classref-method
|void| **region_set_enter_cost**\ (\ region\: :ref:`RID<class_RID>`, enter_cost\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_enter_cost>`
Устанавливает ``enter_cost`` для этого ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_map:
.. rst-class:: classref-method
|void| **region_set_map**\ (\ region\: :ref:`RID<class_RID>`, map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_map>`
Устанавливает карту региона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_navigation_layers:
.. rst-class:: classref-method
|void| **region_set_navigation_layers**\ (\ region\: :ref:`RID<class_RID>`, navigation_layers\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_navigation_layers>`
Установить навигационные слои региона. Это позволяет выбирать регионы из запроса пути (при использовании :ref:`map_get_path()<class_NavigationServer2D_method_map_get_path>`).
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_navigation_polygon:
.. rst-class:: classref-method
|void| **region_set_navigation_polygon**\ (\ region\: :ref:`RID<class_RID>`, navigation_polygon\: :ref:`NavigationPolygon<class_NavigationPolygon>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_navigation_polygon>`
Устанавливает ``navigation_polygon`` для региона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_owner_id:
.. rst-class:: classref-method
|void| **region_set_owner_id**\ (\ region\: :ref:`RID<class_RID>`, owner_id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_owner_id>`
Установите ``ObjectID`` объекта, который управляет этим регионом.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_transform:
.. rst-class:: classref-method
|void| **region_set_transform**\ (\ region\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_transform>`
Устанавливает глобальную трансформацию для региона.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_travel_cost:
.. rst-class:: classref-method
|void| **region_set_travel_cost**\ (\ region\: :ref:`RID<class_RID>`, travel_cost\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_travel_cost>`
Устанавливает ``travel_cost`` для этого ``region``.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_use_async_iterations:
.. rst-class:: classref-method
|void| **region_set_use_async_iterations**\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_use_async_iterations>`
Если ``enabled`` равно ``true``, то ``region`` использует асинхронный процесс синхронизации, который выполняется в фоновом потоке.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_region_set_use_edge_connections:
.. rst-class:: classref-method
|void| **region_set_use_edge_connections**\ (\ region\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_region_set_use_edge_connections>`
Если ``enabled`` имеет значение ``true``, навигационный ``region`` будет использовать граничные соединения для соединения с другими навигационными областями в непосредственной близости от границы граничного соединения навигационной карты.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_set_active:
.. rst-class:: classref-method
|void| **set_active**\ (\ active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_set_active>`
Управляйте активацией этого сервера.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_set_debug_enabled:
.. rst-class:: classref-method
|void| **set_debug_enabled**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationServer2D_method_set_debug_enabled>`
Если ``true`` включает режим отладки на NavigationServer.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_simplify_path:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **simplify_path**\ (\ path\: :ref:`PackedVector2Array<class_PackedVector2Array>`, epsilon\: :ref:`float<class_float>`\ ) :ref:`🔗<class_NavigationServer2D_method_simplify_path>`
Возвращает упрощенную версию ``path`` с удаленными менее критическими точками пути. Величина упрощения указывается в единицах измерения мира и контролируется ``epsilon``. Упрощение использует вариант алгоритма Рамера-Дугласа-Пейкера для прореживания точек кривой.
Упрощение пути может быть полезно для смягчения различных проблем следования пути, которые могут возникнуть с определенными типами агентов и поведением сценария. Например, «рулевые» агенты или избегание в «открытых полях».
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_source_geometry_parser_create:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **source_geometry_parser_create**\ (\ ) :ref:`🔗<class_NavigationServer2D_method_source_geometry_parser_create>`
Создает новый источник парсера геометрии. Если :ref:`Callable<class_Callable>` установлен для парсера с :ref:`source_geometry_parser_set_callback()<class_NavigationServer2D_method_source_geometry_parser_set_callback>`, обратный вызов будет вызван для каждого отдельного узла, который анализируется всякий раз, когда используется :ref:`parse_source_geometry_data()<class_NavigationServer2D_method_parse_source_geometry_data>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationServer2D_method_source_geometry_parser_set_callback:
.. rst-class:: classref-method
|void| **source_geometry_parser_set_callback**\ (\ parser\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_NavigationServer2D_method_source_geometry_parser_set_callback>`
Устанавливает ``callback`` :ref:`Callable<class_Callable>` для конкретной исходной геометрии ``parser``. :ref:`Callable<class_Callable>` получит вызов со следующими параметрами:
- ``navigation_mesh`` - Ссылка :ref:`NavigationPolygon<class_NavigationPolygon>`, используемая для определения настроек анализа. НЕ редактируйте и не добавляйте напрямую в навигационную сетку.
- ``source_geometry_data`` - Ссылка :ref:`NavigationMeshSourceGeometryData2D<class_NavigationMeshSourceGeometryData2D>`. Добавьте пользовательскую исходную геометрию для запекания навигационной сетки к этому объекту.
- ``node`` - :ref:`Node<class_Node>`, который анализируется.
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`