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

350 lines
18 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.

:github_url: hide
.. _class_NavigationRegion2D:
NavigationRegion2D
==================
**Expérimental:** This class may be changed or removed in future versions.
**Hérite de:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Une région 2D traversable que des :ref:`NavigationAgent2D<class_NavigationAgent2D>`\ s peuvent utiliser pour leur recherche de chemin.
.. rst-class:: classref-introduction-group
Description
-----------
A traversable 2D region based on a :ref:`NavigationPolygon<class_NavigationPolygon>` that :ref:`NavigationAgent2D<class_NavigationAgent2D>`\ s can use for pathfinding.
Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using :ref:`NavigationServer2D.map_set_edge_connection_margin()<class_NavigationServer2D_method_map_set_edge_connection_margin>`.
\ **Note:** Overlapping two regions' navigation polygons is not enough for connecting two regions. They must share a similar edge.
The pathfinding cost of entering a region from another region can be controlled with the :ref:`enter_cost<class_NavigationRegion2D_property_enter_cost>` value.
\ **Note:** This value is not added to the path cost when the start position is already inside this region.
The pathfinding cost of traveling distances inside this region can be controlled with the :ref:`travel_cost<class_NavigationRegion2D_property_travel_cost>` multiplier.
\ **Note:** This node caches changes to its properties, so if you make changes to the underlying region :ref:`RID<class_RID>` in :ref:`NavigationServer2D<class_NavigationServer2D>`, they will not be reflected in this node's properties.
.. rst-class:: classref-introduction-group
Tutoriels
------------------
- :doc:`Utilisation de NavigationRegions <../tutorials/navigation/navigation_using_navigationregions>`
.. rst-class:: classref-reftable-group
Propriétés
--------------------
.. table::
:widths: auto
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`bool<class_bool>` | :ref:`enabled<class_NavigationRegion2D_property_enabled>` | ``true`` |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`float<class_float>` | :ref:`enter_cost<class_NavigationRegion2D_property_enter_cost>` | ``0.0`` |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`int<class_int>` | :ref:`navigation_layers<class_NavigationRegion2D_property_navigation_layers>` | ``1`` |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`NavigationPolygon<class_NavigationPolygon>` | :ref:`navigation_polygon<class_NavigationRegion2D_property_navigation_polygon>` | |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`float<class_float>` | :ref:`travel_cost<class_NavigationRegion2D_property_travel_cost>` | ``1.0`` |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
| :ref:`bool<class_bool>` | :ref:`use_edge_connections<class_NavigationRegion2D_property_use_edge_connections>` | ``true`` |
+---------------------------------------------------+-------------------------------------------------------------------------------------+----------+
.. rst-class:: classref-reftable-group
Méthodes
----------------
.. table::
:widths: auto
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`bake_navigation_polygon<class_NavigationRegion2D_method_bake_navigation_polygon>`\ (\ on_thread\: :ref:`bool<class_bool>` = true\ ) |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`get_bounds<class_NavigationRegion2D_method_get_bounds>`\ (\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_navigation_layer_value<class_NavigationRegion2D_method_get_navigation_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_navigation_map<class_NavigationRegion2D_method_get_navigation_map>`\ (\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_region_rid<class_NavigationRegion2D_method_get_region_rid>`\ (\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_rid<class_NavigationRegion2D_method_get_rid>`\ (\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_baking<class_NavigationRegion2D_method_is_baking>`\ (\ ) |const| |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_navigation_layer_value<class_NavigationRegion2D_method_set_navigation_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_navigation_map<class_NavigationRegion2D_method_set_navigation_map>`\ (\ navigation_map\: :ref:`RID<class_RID>`\ ) |
+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Signaux
--------------
.. _class_NavigationRegion2D_signal_bake_finished:
.. rst-class:: classref-signal
**bake_finished**\ (\ ) :ref:`🔗<class_NavigationRegion2D_signal_bake_finished>`
Émis lorsqu'une opération de pré-calcul de polygone de navigation est terminée.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_signal_navigation_polygon_changed:
.. rst-class:: classref-signal
**navigation_polygon_changed**\ (\ ) :ref:`🔗<class_NavigationRegion2D_signal_navigation_polygon_changed>`
Émis lorsque le polygone de navigation utilisé est remplacé ou que des modifications aux variables internes du polygone de navigation actuel sont commises.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des propriétés
------------------------------------------------------
.. _class_NavigationRegion2D_property_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **enabled** = ``true`` :ref:`🔗<class_NavigationRegion2D_property_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_enabled**\ (\ )
Détermine si la **NavigationRegion2D** est activée ou désactivée.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_property_enter_cost:
.. rst-class:: classref-property
:ref:`float<class_float>` **enter_cost** = ``0.0`` :ref:`🔗<class_NavigationRegion2D_property_enter_cost>`
.. rst-class:: classref-property-setget
- |void| **set_enter_cost**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_enter_cost**\ (\ )
Lorsque la recherche de chemin entre dans le maillage de navigation de cette région depuis le maillage de navigation d'une autre région, la valeur :ref:`enter_cost<class_NavigationRegion2D_property_enter_cost>` est ajoutée à la distance du chemin pour déterminer le chemin le plus court.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_property_navigation_layers:
.. rst-class:: classref-property
:ref:`int<class_int>` **navigation_layers** = ``1`` :ref:`🔗<class_NavigationRegion2D_property_navigation_layers>`
.. rst-class:: classref-property-setget
- |void| **set_navigation_layers**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_navigation_layers**\ (\ )
A bitfield determining all navigation layers the region belongs to. These navigation layers can be checked upon when requesting a path with :ref:`NavigationServer2D.map_get_path()<class_NavigationServer2D_method_map_get_path>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_property_navigation_polygon:
.. rst-class:: classref-property
:ref:`NavigationPolygon<class_NavigationPolygon>` **navigation_polygon** :ref:`🔗<class_NavigationRegion2D_property_navigation_polygon>`
.. rst-class:: classref-property-setget
- |void| **set_navigation_polygon**\ (\ value\: :ref:`NavigationPolygon<class_NavigationPolygon>`\ )
- :ref:`NavigationPolygon<class_NavigationPolygon>` **get_navigation_polygon**\ (\ )
La ressource :ref:`NavigationPolygon<class_NavigationPolygon>` à utiliser.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_property_travel_cost:
.. rst-class:: classref-property
:ref:`float<class_float>` **travel_cost** = ``1.0`` :ref:`🔗<class_NavigationRegion2D_property_travel_cost>`
.. rst-class:: classref-property-setget
- |void| **set_travel_cost**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_travel_cost**\ (\ )
Lorsque la recherche de chemin se déplace dans le maillage de navigation de cette région, les distances parcourues sont multipliées par :ref:`travel_cost<class_NavigationRegion2D_property_travel_cost>` pour déterminer le chemin le plus court.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_property_use_edge_connections:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **use_edge_connections** = ``true`` :ref:`🔗<class_NavigationRegion2D_property_use_edge_connections>`
.. rst-class:: classref-property-setget
- |void| **set_use_edge_connections**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_use_edge_connections**\ (\ )
If enabled the navigation region will use edge connections to connect with other navigation regions within proximity of the navigation map edge connection margin.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des méthodes
--------------------------------------------------
.. _class_NavigationRegion2D_method_bake_navigation_polygon:
.. rst-class:: classref-method
|void| **bake_navigation_polygon**\ (\ on_thread\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_NavigationRegion2D_method_bake_navigation_polygon>`
Pré-calcule le :ref:`NavigationPolygon<class_NavigationPolygon>`. Si ``on_thread`` est défini à ``true`` (par défaut), le pré-calcul est fait sur un thread séparé.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_get_bounds:
.. rst-class:: classref-method
:ref:`Rect2<class_Rect2>` **get_bounds**\ (\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_get_bounds>`
Returns the axis-aligned rectangle for the region's transformed navigation mesh.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_get_navigation_layer_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_navigation_layer_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_get_navigation_layer_value>`
Renvoie si la couche spécifiée du masque de bits :ref:`navigation_layers<class_NavigationRegion2D_property_navigation_layers>` est activée, étant donné un numéro de couche ``layer_number`` entre 1 et 32.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_get_navigation_map:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_navigation_map**\ (\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_get_navigation_map>`
Renvoie le :ref:`RID<class_RID>` de la carte de navigation actuelle utilisée par cette région.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_get_region_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_region_rid**\ (\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_get_region_rid>`
**Obsolète:** Use :ref:`get_rid()<class_NavigationRegion2D_method_get_rid>` instead.
Renvoie le :ref:`RID<class_RID>` de cette région sur le :ref:`NavigationServer2D<class_NavigationServer2D>`.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_get_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_rid**\ (\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_get_rid>`
Renvoie le :ref:`RID<class_RID>` de cette région sur le :ref:`NavigationServer2D<class_NavigationServer2D>`. Combiné avec :ref:`NavigationServer2D.map_get_closest_point_owner()<class_NavigationServer2D_method_map_get_closest_point_owner>`, cela peut être utilisé pour identifier la **NavigationRegion2D** la plus proche d'un point sur la carte de navigation fusionnée.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_is_baking:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_baking**\ (\ ) |const| :ref:`🔗<class_NavigationRegion2D_method_is_baking>`
Renvoie ``true`` lorsque le :ref:`NavigationPolygon<class_NavigationPolygon>` est en cours de calcul sur un thread d'arrière-plan.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_set_navigation_layer_value:
.. rst-class:: classref-method
|void| **set_navigation_layer_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_NavigationRegion2D_method_set_navigation_layer_value>`
Selon ``value``, active ou désactive la couche spécifiée dans le masque de bits :ref:`navigation_layers<class_NavigationRegion2D_property_navigation_layers>`, étant donné un numéro de couche ``layer_number`` entre 1 et 32.
.. rst-class:: classref-item-separator
----
.. _class_NavigationRegion2D_method_set_navigation_map:
.. rst-class:: classref-method
|void| **set_navigation_map**\ (\ navigation_map\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_NavigationRegion2D_method_set_navigation_map>`
Définit le :ref:`RID<class_RID>` de la carte de navigation que cette région devrait utiliser. Par défaut, la région se joindra automatiquement à la carte de navigation par défaut du :ref:`World2D<class_World2D>` de sorte à ce que cette fonction ne soit nécessaire que pour remplacer la carte par défaut.
.. |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.)`