Files
godot-docs-l10n/classes/fr/class_navigationmesh.rst
2025-12-19 14:34:07 +01:00

820 lines
42 KiB
ReStructuredText
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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_NavigationMesh:
NavigationMesh
==============
**Expérimental:** This class may be changed or removed in future versions.
**Hérite de:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Un maillage de navigation qui définit des zones traversables et des obstacles.
.. rst-class:: classref-introduction-group
Description
-----------
Un maillage de navigation est une collection de polygones qui définissent les zones d'un environnement qui peuvent être traversés pour aider les agents dans leur cheminement dans les espaces compliqués.
.. rst-class:: classref-introduction-group
Tutoriels
------------------
- :doc:`Utiliser les NavigationMesh <../tutorials/navigation/navigation_using_navigationmeshes>`
- `Démo de navigation 3D <https://godotengine.org/asset-library/asset/2743>`__
.. rst-class:: classref-reftable-group
Propriétés
--------------------
.. table::
:widths: auto
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_height<class_NavigationMesh_property_agent_height>` | ``1.5`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_max_climb<class_NavigationMesh_property_agent_max_climb>` | ``0.25`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_max_slope<class_NavigationMesh_property_agent_max_slope>` | ``45.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`agent_radius<class_NavigationMesh_property_agent_radius>` | ``0.5`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`border_size<class_NavigationMesh_property_border_size>` | ``0.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`cell_height<class_NavigationMesh_property_cell_height>` | ``0.25`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`cell_size<class_NavigationMesh_property_cell_size>` | ``0.25`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`detail_sample_distance<class_NavigationMesh_property_detail_sample_distance>` | ``6.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`detail_sample_max_error<class_NavigationMesh_property_detail_sample_max_error>` | ``1.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`edge_max_error<class_NavigationMesh_property_edge_max_error>` | ``1.3`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`edge_max_length<class_NavigationMesh_property_edge_max_length>` | ``0.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`AABB<class_AABB>` | :ref:`filter_baking_aabb<class_NavigationMesh_property_filter_baking_aabb>` | ``AABB(0, 0, 0, 0, 0, 0)`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`filter_baking_aabb_offset<class_NavigationMesh_property_filter_baking_aabb_offset>` | ``Vector3(0, 0, 0)`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`bool<class_bool>` | :ref:`filter_ledge_spans<class_NavigationMesh_property_filter_ledge_spans>` | ``false`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`bool<class_bool>` | :ref:`filter_low_hanging_obstacles<class_NavigationMesh_property_filter_low_hanging_obstacles>` | ``false`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`bool<class_bool>` | :ref:`filter_walkable_low_height_spans<class_NavigationMesh_property_filter_walkable_low_height_spans>` | ``false`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`geometry_collision_mask<class_NavigationMesh_property_geometry_collision_mask>` | ``4294967295`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` | :ref:`geometry_parsed_geometry_type<class_NavigationMesh_property_geometry_parsed_geometry_type>` | ``2`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` | :ref:`geometry_source_geometry_mode<class_NavigationMesh_property_geometry_source_geometry_mode>` | ``0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StringName<class_StringName>` | :ref:`geometry_source_group_name<class_NavigationMesh_property_geometry_source_group_name>` | ``&"navigation_mesh_source_group"`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`region_merge_size<class_NavigationMesh_property_region_merge_size>` | ``20.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`region_min_size<class_NavigationMesh_property_region_min_size>` | ``2.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` | :ref:`sample_partition_type<class_NavigationMesh_property_sample_partition_type>` | ``0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`float<class_float>` | :ref:`vertices_per_polygon<class_NavigationMesh_property_vertices_per_polygon>` | ``6.0`` |
+---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+
.. rst-class:: classref-reftable-group
Méthodes
----------------
.. table::
:widths: auto
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_polygon<class_NavigationMesh_method_add_polygon>`\ (\ polygon\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear<class_NavigationMesh_method_clear>`\ (\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_polygons<class_NavigationMesh_method_clear_polygons>`\ (\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`create_from_mesh<class_NavigationMesh_method_create_from_mesh>`\ (\ mesh\: :ref:`Mesh<class_Mesh>`\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_collision_mask_value<class_NavigationMesh_method_get_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_polygon<class_NavigationMesh_method_get_polygon>`\ (\ idx\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_polygon_count<class_NavigationMesh_method_get_polygon_count>`\ (\ ) |const| |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`get_vertices<class_NavigationMesh_method_get_vertices>`\ (\ ) |const| |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_collision_mask_value<class_NavigationMesh_method_set_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_vertices<class_NavigationMesh_method_set_vertices>`\ (\ vertices\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) |
+-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Énumérations
------------------------
.. _enum_NavigationMesh_SamplePartitionType:
.. rst-class:: classref-enumeration
enum **SamplePartitionType**: :ref:`🔗<enum_NavigationMesh_SamplePartitionType>`
.. _class_NavigationMesh_constant_SAMPLE_PARTITION_WATERSHED:
.. rst-class:: classref-enumeration-constant
:ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **SAMPLE_PARTITION_WATERSHED** = ``0``
Watershed partitioning. Generally the best choice if you precompute the navigation mesh, use this if you have large open areas.
.. _class_NavigationMesh_constant_SAMPLE_PARTITION_MONOTONE:
.. rst-class:: classref-enumeration-constant
:ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **SAMPLE_PARTITION_MONOTONE** = ``1``
Partage monotone. Utilisez ceci si vous voulez une génération de maillages de navigation rapide.
.. _class_NavigationMesh_constant_SAMPLE_PARTITION_LAYERS:
.. rst-class:: classref-enumeration-constant
:ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **SAMPLE_PARTITION_LAYERS** = ``2``
Le partitionnement du calque. Un bon choix à utiliser pour la maillage de navigation en carreaux de taille moyenne et petite.
.. _class_NavigationMesh_constant_SAMPLE_PARTITION_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **SAMPLE_PARTITION_MAX** = ``3``
Représente la taille de l'énumération :ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>`.
.. rst-class:: classref-item-separator
----
.. _enum_NavigationMesh_ParsedGeometryType:
.. rst-class:: classref-enumeration
enum **ParsedGeometryType**: :ref:`🔗<enum_NavigationMesh_ParsedGeometryType>`
.. _class_NavigationMesh_constant_PARSED_GEOMETRY_MESH_INSTANCES:
.. rst-class:: classref-enumeration-constant
:ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **PARSED_GEOMETRY_MESH_INSTANCES** = ``0``
Parses mesh instances as geometry. This includes :ref:`MeshInstance3D<class_MeshInstance3D>`, :ref:`CSGShape3D<class_CSGShape3D>`, and :ref:`GridMap<class_GridMap>` nodes.
.. _class_NavigationMesh_constant_PARSED_GEOMETRY_STATIC_COLLIDERS:
.. rst-class:: classref-enumeration-constant
:ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **PARSED_GEOMETRY_STATIC_COLLIDERS** = ``1``
Parses :ref:`StaticBody3D<class_StaticBody3D>` colliders as geometry. The collider should be in any of the layers specified by :ref:`geometry_collision_mask<class_NavigationMesh_property_geometry_collision_mask>`.
.. _class_NavigationMesh_constant_PARSED_GEOMETRY_BOTH:
.. rst-class:: classref-enumeration-constant
:ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **PARSED_GEOMETRY_BOTH** = ``2``
À la fois :ref:`PARSED_GEOMETRY_MESH_INSTANCES<class_NavigationMesh_constant_PARSED_GEOMETRY_MESH_INSTANCES>` et :ref:`PARSED_GEOMETRY_STATIC_COLLIDERS<class_NavigationMesh_constant_PARSED_GEOMETRY_STATIC_COLLIDERS>`.
.. _class_NavigationMesh_constant_PARSED_GEOMETRY_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **PARSED_GEOMETRY_MAX** = ``3``
Représente la taille de lenum :ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>`.
.. rst-class:: classref-item-separator
----
.. _enum_NavigationMesh_SourceGeometryMode:
.. rst-class:: classref-enumeration
enum **SourceGeometryMode**: :ref:`🔗<enum_NavigationMesh_SourceGeometryMode>`
.. _class_NavigationMesh_constant_SOURCE_GEOMETRY_ROOT_NODE_CHILDREN:
.. rst-class:: classref-enumeration-constant
:ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **SOURCE_GEOMETRY_ROOT_NODE_CHILDREN** = ``0``
Scans the child nodes of the root node recursively for geometry.
.. _class_NavigationMesh_constant_SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN:
.. rst-class:: classref-enumeration-constant
:ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN** = ``1``
Scanne les nœuds dans un groupe et leurs nœuds enfants récursivement pour la géométrie. Le groupe est spécifié par :ref:`geometry_source_group_name<class_NavigationMesh_property_geometry_source_group_name>`.
.. _class_NavigationMesh_constant_SOURCE_GEOMETRY_GROUPS_EXPLICIT:
.. rst-class:: classref-enumeration-constant
:ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **SOURCE_GEOMETRY_GROUPS_EXPLICIT** = ``2``
Utilise des nœuds dans un groupe de géométrie. Le groupe est spécifié par :ref:`geometry_source_group_name<class_NavigationMesh_property_geometry_source_group_name>`.
.. _class_NavigationMesh_constant_SOURCE_GEOMETRY_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **SOURCE_GEOMETRY_MAX** = ``3``
Représente la taille de l'énumération :ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>`.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des propriétés
------------------------------------------------------
.. _class_NavigationMesh_property_agent_height:
.. rst-class:: classref-property
:ref:`float<class_float>` **agent_height** = ``1.5`` :ref:`🔗<class_NavigationMesh_property_agent_height>`
.. rst-class:: classref-property-setget
- |void| **set_agent_height**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_agent_height**\ (\ )
La hauteur minimale entre le sol et le plafond qui permettra toujours que la surface au sol soit considérée comme pouvant être traversée.
\ **Note :** Pendant le pré-calcul, cette valeur sera arrondie au multiple le plus proche de :ref:`cell_height<class_NavigationMesh_property_cell_height>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_agent_max_climb:
.. rst-class:: classref-property
:ref:`float<class_float>` **agent_max_climb** = ``0.25`` :ref:`🔗<class_NavigationMesh_property_agent_max_climb>`
.. rst-class:: classref-property-setget
- |void| **set_agent_max_climb**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_agent_max_climb**\ (\ )
La hauteur minimale de haie qui est considérée comme toujours pouvant être traversée.
\ **Note :** Pendant le pré-calcul, cette valeur sera arrondie au multiple le plus proche de :ref:`cell_height<class_NavigationMesh_property_cell_height>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_agent_max_slope:
.. rst-class:: classref-property
:ref:`float<class_float>` **agent_max_slope** = ``45.0`` :ref:`🔗<class_NavigationMesh_property_agent_max_slope>`
.. rst-class:: classref-property-setget
- |void| **set_agent_max_slope**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_agent_max_slope**\ (\ )
La pente maximale qui est considérée comme pouvant être traversée, en degrés.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_agent_radius:
.. rst-class:: classref-property
:ref:`float<class_float>` **agent_radius** = ``0.5`` :ref:`🔗<class_NavigationMesh_property_agent_radius>`
.. rst-class:: classref-property-setget
- |void| **set_agent_radius**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_agent_radius**\ (\ )
The distance to erode/shrink the walkable area of the heightfield away from obstructions.
\ **Note:** While baking, this value will be rounded up to the nearest multiple of :ref:`cell_size<class_NavigationMesh_property_cell_size>`.
\ **Note:** The radius must be equal or higher than ``0.0``. If the radius is ``0.0``, it won't be possible to fix invalid outline overlaps and other precision errors during the baking process. As a result, some obstacles may be excluded incorrectly from the final navigation mesh, or may delete the navigation mesh's polygons.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_border_size:
.. rst-class:: classref-property
:ref:`float<class_float>` **border_size** = ``0.0`` :ref:`🔗<class_NavigationMesh_property_border_size>`
.. rst-class:: classref-property-setget
- |void| **set_border_size**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_border_size**\ (\ )
The size of the non-navigable border around the bake bounding area.
In conjunction with the :ref:`filter_baking_aabb<class_NavigationMesh_property_filter_baking_aabb>` and a :ref:`edge_max_error<class_NavigationMesh_property_edge_max_error>` value at ``1.0`` or below the border size can be used to bake tile aligned navigation meshes without the tile edges being shrunk by :ref:`agent_radius<class_NavigationMesh_property_agent_radius>`.
\ **Note:** If this value is not ``0.0``, it will be rounded up to the nearest multiple of :ref:`cell_size<class_NavigationMesh_property_cell_size>` during baking.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_cell_height:
.. rst-class:: classref-property
:ref:`float<class_float>` **cell_height** = ``0.25`` :ref:`🔗<class_NavigationMesh_property_cell_height>`
.. rst-class:: classref-property-setget
- |void| **set_cell_height**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_cell_height**\ (\ )
La hauteur de cellule utilisée pour rastériser les sommets du maillage de navigation sur l'axe Y. Doit correspondre à la hauteur de cellule sur la carte de navigation.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_cell_size:
.. rst-class:: classref-property
:ref:`float<class_float>` **cell_size** = ``0.25`` :ref:`🔗<class_NavigationMesh_property_cell_size>`
.. rst-class:: classref-property-setget
- |void| **set_cell_size**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_cell_size**\ (\ )
La taille de cellule utilisée pour rastériser les sommets du maillage de navigation sur le plan XZ. Doit correspondre à la taille de cellule sur la carte de navigation.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_detail_sample_distance:
.. rst-class:: classref-property
:ref:`float<class_float>` **detail_sample_distance** = ``6.0`` :ref:`🔗<class_NavigationMesh_property_detail_sample_distance>`
.. rst-class:: classref-property-setget
- |void| **set_detail_sample_distance**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_detail_sample_distance**\ (\ )
La distance d'échantillonnage à utiliser pour générer le maillage de détail, dans l'unité des cellules.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_detail_sample_max_error:
.. rst-class:: classref-property
:ref:`float<class_float>` **detail_sample_max_error** = ``1.0`` :ref:`🔗<class_NavigationMesh_property_detail_sample_max_error>`
.. rst-class:: classref-property-setget
- |void| **set_detail_sample_max_error**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_detail_sample_max_error**\ (\ )
La distance maximale de la surface de maillage de détail devrait s'écarter du champ de hauteur, dans l'unité des cellules.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_edge_max_error:
.. rst-class:: classref-property
:ref:`float<class_float>` **edge_max_error** = ``1.3`` :ref:`🔗<class_NavigationMesh_property_edge_max_error>`
.. rst-class:: classref-property-setget
- |void| **set_edge_max_error**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_edge_max_error**\ (\ )
The maximum distance a simplified contour's border edges should deviate the original raw contour.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_edge_max_length:
.. rst-class:: classref-property
:ref:`float<class_float>` **edge_max_length** = ``0.0`` :ref:`🔗<class_NavigationMesh_property_edge_max_length>`
.. rst-class:: classref-property-setget
- |void| **set_edge_max_length**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_edge_max_length**\ (\ )
La longueur maximale autorisée pour les arêtes du contour le long de la bordure du maillage. Une valeur de ``0.0`` désactive cette fonctionnalité.
\ **Note :** Pendant le pré-calcul, cette valeur sera arrondie vers le haut au multiple le plus proche de :ref:`cell_size<class_NavigationMesh_property_cell_size>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_filter_baking_aabb:
.. rst-class:: classref-property
:ref:`AABB<class_AABB>` **filter_baking_aabb** = ``AABB(0, 0, 0, 0, 0, 0)`` :ref:`🔗<class_NavigationMesh_property_filter_baking_aabb>`
.. rst-class:: classref-property-setget
- |void| **set_filter_baking_aabb**\ (\ value\: :ref:`AABB<class_AABB>`\ )
- :ref:`AABB<class_AABB>` **get_filter_baking_aabb**\ (\ )
If the baking :ref:`AABB<class_AABB>` has a volume the navigation mesh baking will be restricted to its enclosing area.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_filter_baking_aabb_offset:
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` **filter_baking_aabb_offset** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_NavigationMesh_property_filter_baking_aabb_offset>`
.. rst-class:: classref-property-setget
- |void| **set_filter_baking_aabb_offset**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
- :ref:`Vector3<class_Vector3>` **get_filter_baking_aabb_offset**\ (\ )
Le décalage de position appliqué au :ref:`AABB<class_AABB>` de :ref:`filter_baking_aabb<class_NavigationMesh_property_filter_baking_aabb>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_filter_ledge_spans:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **filter_ledge_spans** = ``false`` :ref:`🔗<class_NavigationMesh_property_filter_ledge_spans>`
.. rst-class:: classref-property-setget
- |void| **set_filter_ledge_spans**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_filter_ledge_spans**\ (\ )
If ``true``, marks spans that are ledges as non-walkable.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_filter_low_hanging_obstacles:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **filter_low_hanging_obstacles** = ``false`` :ref:`🔗<class_NavigationMesh_property_filter_low_hanging_obstacles>`
.. rst-class:: classref-property-setget
- |void| **set_filter_low_hanging_obstacles**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_filter_low_hanging_obstacles**\ (\ )
If ``true``, marks non-walkable spans as walkable if their maximum is within :ref:`agent_max_climb<class_NavigationMesh_property_agent_max_climb>` of a walkable neighbor.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_filter_walkable_low_height_spans:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **filter_walkable_low_height_spans** = ``false`` :ref:`🔗<class_NavigationMesh_property_filter_walkable_low_height_spans>`
.. rst-class:: classref-property-setget
- |void| **set_filter_walkable_low_height_spans**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_filter_walkable_low_height_spans**\ (\ )
Si ``true``, marque les étendues praticables comme non-praticables si l'espace au dessus de l'étendue est inférieur à :ref:`agent_height<class_NavigationMesh_property_agent_height>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_geometry_collision_mask:
.. rst-class:: classref-property
:ref:`int<class_int>` **geometry_collision_mask** = ``4294967295`` :ref:`🔗<class_NavigationMesh_property_geometry_collision_mask>`
.. rst-class:: classref-property-setget
- |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_mask**\ (\ )
Les calques de physique pour scanner les collisions statiques.
Seulement utilisé quand :ref:`geometry_parsed_geometry_type<class_NavigationMesh_property_geometry_parsed_geometry_type>` est :ref:`PARSED_GEOMETRY_STATIC_COLLIDERS<class_NavigationMesh_constant_PARSED_GEOMETRY_STATIC_COLLIDERS>` ou :ref:`PARSED_GEOMETRY_BOTH<class_NavigationMesh_constant_PARSED_GEOMETRY_BOTH>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_geometry_parsed_geometry_type:
.. rst-class:: classref-property
:ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **geometry_parsed_geometry_type** = ``2`` :ref:`🔗<class_NavigationMesh_property_geometry_parsed_geometry_type>`
.. rst-class:: classref-property-setget
- |void| **set_parsed_geometry_type**\ (\ value\: :ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>`\ )
- :ref:`ParsedGeometryType<enum_NavigationMesh_ParsedGeometryType>` **get_parsed_geometry_type**\ (\ )
Détermine quel type de nœuds seront parsés en tant que géométrie.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_geometry_source_geometry_mode:
.. rst-class:: classref-property
:ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **geometry_source_geometry_mode** = ``0`` :ref:`🔗<class_NavigationMesh_property_geometry_source_geometry_mode>`
.. rst-class:: classref-property-setget
- |void| **set_source_geometry_mode**\ (\ value\: :ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>`\ )
- :ref:`SourceGeometryMode<enum_NavigationMesh_SourceGeometryMode>` **get_source_geometry_mode**\ (\ )
La source de la géométrie utilisée lors du pré-calcul.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_geometry_source_group_name:
.. rst-class:: classref-property
:ref:`StringName<class_StringName>` **geometry_source_group_name** = ``&"navigation_mesh_source_group"`` :ref:`🔗<class_NavigationMesh_property_geometry_source_group_name>`
.. rst-class:: classref-property-setget
- |void| **set_source_group_name**\ (\ value\: :ref:`StringName<class_StringName>`\ )
- :ref:`StringName<class_StringName>` **get_source_group_name**\ (\ )
Le nom du groupe pour scanner la géométrie.
Seulement utilisé lorsque :ref:`geometry_source_geometry_mode<class_NavigationMesh_property_geometry_source_geometry_mode>` est :ref:`SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN<class_NavigationMesh_constant_SOURCE_GEOMETRY_GROUPS_WITH_CHILDREN>` ou :ref:`SOURCE_GEOMETRY_GROUPS_EXPLICIT<class_NavigationMesh_constant_SOURCE_GEOMETRY_GROUPS_EXPLICIT>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_region_merge_size:
.. rst-class:: classref-property
:ref:`float<class_float>` **region_merge_size** = ``20.0`` :ref:`🔗<class_NavigationMesh_property_region_merge_size>`
.. rst-class:: classref-property-setget
- |void| **set_region_merge_size**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_region_merge_size**\ (\ )
Toutes les régions ayant une taille inférieure à celle-ci seront fusionnées avec des régions plus grandes si possible.
\ **Note :** Cette valeur sera carrée pour calculer le nombre de cellules. Par exemple, une valeur de 20 définira le nombre de cellules à 400.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_region_min_size:
.. rst-class:: classref-property
:ref:`float<class_float>` **region_min_size** = ``2.0`` :ref:`🔗<class_NavigationMesh_property_region_min_size>`
.. rst-class:: classref-property-setget
- |void| **set_region_min_size**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_region_min_size**\ (\ )
La taille minimale d'une région pour qu'elle soit créée.
\ **Note :** Cette valeur sera fixée pour calculer le nombre minimum de cellules autorisées à former des zones insulaires isolées. Par exemple, une valeur de 8 définira le nombre de cellules à 64.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_sample_partition_type:
.. rst-class:: classref-property
:ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **sample_partition_type** = ``0`` :ref:`🔗<class_NavigationMesh_property_sample_partition_type>`
.. rst-class:: classref-property-setget
- |void| **set_sample_partition_type**\ (\ value\: :ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>`\ )
- :ref:`SamplePartitionType<enum_NavigationMesh_SamplePartitionType>` **get_sample_partition_type**\ (\ )
Algorithme de partitionnement pour la création des polygones du maillage de navigation.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_property_vertices_per_polygon:
.. rst-class:: classref-property
:ref:`float<class_float>` **vertices_per_polygon** = ``6.0`` :ref:`🔗<class_NavigationMesh_property_vertices_per_polygon>`
.. rst-class:: classref-property-setget
- |void| **set_vertices_per_polygon**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_vertices_per_polygon**\ (\ )
Le nombre maximal de sommets permis pour les polygones générés pendant le contour du processus de conversion en polygones.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des méthodes
--------------------------------------------------
.. _class_NavigationMesh_method_add_polygon:
.. rst-class:: classref-method
|void| **add_polygon**\ (\ polygon\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) :ref:`🔗<class_NavigationMesh_method_add_polygon>`
Ajoute un polygone en utilisant les indices des sommets que obtenus avec :ref:`get_vertices()<class_NavigationMesh_method_get_vertices>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_clear:
.. rst-class:: classref-method
|void| **clear**\ (\ ) :ref:`🔗<class_NavigationMesh_method_clear>`
Vide les tableaux internes pour les indices de sommets et de polygones.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_clear_polygons:
.. rst-class:: classref-method
|void| **clear_polygons**\ (\ ) :ref:`🔗<class_NavigationMesh_method_clear_polygons>`
Vide le tableau des polygones, mais ne vide pas le tableau des sommets.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_create_from_mesh:
.. rst-class:: classref-method
|void| **create_from_mesh**\ (\ mesh\: :ref:`Mesh<class_Mesh>`\ ) :ref:`🔗<class_NavigationMesh_method_create_from_mesh>`
Initialise le maillage de navigation en définissant les sommets et les indices selon un :ref:`Mesh<class_Mesh>`.
\ **Note :** Le ``mesh`` donné doit être du type :ref:`Mesh.PRIMITIVE_TRIANGLES<class_Mesh_constant_PRIMITIVE_TRIANGLES>` et avoir un tableau d'indices.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_get_collision_mask_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_NavigationMesh_method_get_collision_mask_value>`
Renvoie si la couche spécifiée du :ref:`geometry_collision_mask<class_NavigationMesh_property_geometry_collision_mask>` est activée, étant donné un numéro de couche ``layer_number`` entre 1 et 32.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_get_polygon:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **get_polygon**\ (\ idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NavigationMesh_method_get_polygon>`
Renvoie un :ref:`PackedInt32Array<class_PackedInt32Array>` contenant les indices des sommets d'un polygone créé.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_get_polygon_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_polygon_count**\ (\ ) |const| :ref:`🔗<class_NavigationMesh_method_get_polygon_count>`
Renvoie le nombre de polygones dans le maillage de navigation.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_get_vertices:
.. rst-class:: classref-method
:ref:`PackedVector3Array<class_PackedVector3Array>` **get_vertices**\ (\ ) |const| :ref:`🔗<class_NavigationMesh_method_get_vertices>`
Renvoie un :ref:`PackedVector3Array<class_PackedVector3Array>` contenant tous les indices utilisés pour créer les polygones.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_set_collision_mask_value:
.. rst-class:: classref-method
|void| **set_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationMesh_method_set_collision_mask_value>`
Selon ``value``, active ou désactive la couche spécifiée dans le :ref:`geometry_collision_mask<class_NavigationMesh_property_geometry_collision_mask>`, étant donné un numéro de couche ``layer_number`` entre 1 et 32.
.. rst-class:: classref-item-separator
----
.. _class_NavigationMesh_method_set_vertices:
.. rst-class:: classref-method
|void| **set_vertices**\ (\ vertices\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) :ref:`🔗<class_NavigationMesh_method_set_vertices>`
Définit les sommets qui peuvent ensuite être indexés pour créer des polygones avec la méthode :ref:`add_polygon()<class_NavigationMesh_method_add_polygon>`.
.. |virtual| replace:: :abbr:`virtual (Cette méthode doit typiquement être redéfinie par l'utilisateur pour avoir un effet.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Cette méthode n'a pas d'effets de bord. Elle ne modifie aucune des variables membres de l'instance.)`
.. |vararg| replace:: :abbr:`vararg (Cette méthode accepte n'importe quel nombre d'arguments après ceux décris ici.)`
.. |constructor| replace:: :abbr:`constructor (Cette méthode est utilisée pour construire un type.)`
.. |static| replace:: :abbr:`static (Cette méthode n'a pas besoin d'instance pour être appelée, elle peut donc être directement appelée en utilisant le nom de la classe.)`
.. |operator| replace:: :abbr:`operator (Cette méthode décrit un opérateur valide à utiliser avec ce type en tant qu'opérande gauche.)`
.. |bitfield| replace:: :abbr:`BitField (Cette valeur est un nombre entier composé d'un masque de bits des options suivantes.)`
.. |void| replace:: :abbr:`void (Aucune valeur de retour.)`