mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-05 14:10:19 +03:00
306 lines
14 KiB
ReStructuredText
306 lines
14 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_PathFollow3D:
|
||
|
||
PathFollow3D
|
||
============
|
||
|
||
**Hérite de :** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
Échantillonneur de points pour un :ref:`Path3D<class_Path3D>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Description
|
||
-----------
|
||
|
||
Ce nœud prend son parent :ref:`Path3D<class_Path3D>`, et renvoie les coordonnées d'un point à l'intérieur, selon une distance par rapport au premier sommet.
|
||
|
||
Il est utile pour faire que d'autres nœuds suivent un chemin, sans coder le motif du mouvement. Pour cela, les nœuds doivent être des enfants de ce nœud. Les nœuds descendants se déplaceront alors en conséquence lorsque :ref:`progress<class_PathFollow3D_property_progress>` est défini.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Propriétés
|
||
--------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`cubic_interp<class_PathFollow3D_property_cubic_interp>` | ``true`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`float<class_float>` | :ref:`h_offset<class_PathFollow3D_property_h_offset>` | ``0.0`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`loop<class_PathFollow3D_property_loop>` | ``true`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`float<class_float>` | :ref:`progress<class_PathFollow3D_property_progress>` | ``0.0`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`float<class_float>` | :ref:`progress_ratio<class_PathFollow3D_property_progress_ratio>` | ``0.0`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`RotationMode<enum_PathFollow3D_RotationMode>` | :ref:`rotation_mode<class_PathFollow3D_property_rotation_mode>` | ``3`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`tilt_enabled<class_PathFollow3D_property_tilt_enabled>` | ``true`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`use_model_front<class_PathFollow3D_property_use_model_front>` | ``false`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
| :ref:`float<class_float>` | :ref:`v_offset<class_PathFollow3D_property_v_offset>` | ``0.0`` |
|
||
+-----------------------------------------------------+---------------------------------------------------------------------+-----------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Méthodes
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Transform3D<class_Transform3D>` | :ref:`correct_posture<class_PathFollow3D_method_correct_posture>`\ (\ transform\: :ref:`Transform3D<class_Transform3D>`, rotation_mode\: :ref:`RotationMode<enum_PathFollow3D_RotationMode>`\ ) |static| |
|
||
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Énumérations
|
||
------------------------
|
||
|
||
.. _enum_PathFollow3D_RotationMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **RotationMode**: :ref:`🔗<enum_PathFollow3D_RotationMode>`
|
||
|
||
.. _class_PathFollow3D_constant_ROTATION_NONE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **ROTATION_NONE** = ``0``
|
||
|
||
Interdit au PathFollow3D de pivoter.
|
||
|
||
.. _class_PathFollow3D_constant_ROTATION_Y:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **ROTATION_Y** = ``1``
|
||
|
||
Autorise le PathFollow3D à ne pivoter que selon l'axe Y.
|
||
|
||
.. _class_PathFollow3D_constant_ROTATION_XY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **ROTATION_XY** = ``2``
|
||
|
||
Autorise le PathFollow3D à pivoter selon les axes X et Y.
|
||
|
||
.. _class_PathFollow3D_constant_ROTATION_XYZ:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **ROTATION_XYZ** = ``3``
|
||
|
||
Autorise le PathFollow3D à pivoter suivant n'importe quel axe.
|
||
|
||
.. _class_PathFollow3D_constant_ROTATION_ORIENTED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **ROTATION_ORIENTED** = ``4``
|
||
|
||
Utilise l'information sur les vecteurs dans une :ref:`Curve3D<class_Curve3D>` pour faire respecter l'orientation. Ce mode de rotation exige que la propriété :ref:`Curve3D.up_vector_enabled<class_Curve3D_property_up_vector_enabled>` du :ref:`Path3D<class_Path3D>` soit définie à ``true``.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Descriptions des propriétés
|
||
------------------------------------------------------
|
||
|
||
.. _class_PathFollow3D_property_cubic_interp:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **cubic_interp** = ``true`` :ref:`🔗<class_PathFollow3D_property_cubic_interp>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_cubic_interpolation**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_cubic_interpolation**\ (\ )
|
||
|
||
Si ``true``, la position entre deux points mis en cache est interpolée de façon cubique, et linéairement sinon.
|
||
|
||
Les points le long de la :ref:`Curve3D<class_Curve3D>` du :ref:`Path3D<class_Path3D>` sont pré-calculés avant utilisation, pour des calculs plus rapides. Le point au décalage demandé est alors calculé en interpolant entre deux points du cache adjacents. Cela peut présenter un problème si la courbe fait des virages aigus, car les points mis en cache peuvent ne pas suivre la courbe d'assez près.
|
||
|
||
Il y a deux réponses à ce problème : soit augmenter le nombre de points mis en cache et augmenter la consommation de mémoire, soit faire une interpolation cubique entre deux points au coût de calculs (légèrement) plus lents.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_h_offset:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **h_offset** = ``0.0`` :ref:`🔗<class_PathFollow3D_property_h_offset>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_h_offset**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_h_offset**\ (\ )
|
||
|
||
Le décalage du nœud le long de la courbe.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_loop:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **loop** = ``true`` :ref:`🔗<class_PathFollow3D_property_loop>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_loop**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **has_loop**\ (\ )
|
||
|
||
If ``true``, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_progress:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **progress** = ``0.0`` :ref:`🔗<class_PathFollow3D_property_progress>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_progress**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_progress**\ (\ )
|
||
|
||
La distance par rapport au premier sommet, mesurée en unités 3D le long du chemin. Changer cette valeur fixe la position de ce nœud à celle d'un point sur le chemin.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_progress_ratio:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **progress_ratio** = ``0.0`` :ref:`🔗<class_PathFollow3D_property_progress_ratio>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_progress_ratio**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_progress_ratio**\ (\ )
|
||
|
||
La distance par rapport au premier sommet, en considérant 0.0 comme le premier sommet et 1.0 comme le dernier. Il s'agit juste d'une autre façon d'exprimer la progression sur le chemin, car la progression fournie est multipliée en interne par la longueur du chemin.
|
||
|
||
Elle peut être définie ou obtenue seulement si le **PathFollow3D** est l'enfant d'un :ref:`Path3D<class_Path3D>` qui fait partie de l'arborescence de scène, et que ce :ref:`Path3D<class_Path3D>` a une :ref:`Curve3D<class_Curve3D>` avec une longueur non nulle. Sinon, essayer de définir ce champ affichera une erreur, et obtenir ce champ renverra ``0.0``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_rotation_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`RotationMode<enum_PathFollow3D_RotationMode>` **rotation_mode** = ``3`` :ref:`🔗<class_PathFollow3D_property_rotation_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_rotation_mode**\ (\ value\: :ref:`RotationMode<enum_PathFollow3D_RotationMode>`\ )
|
||
- :ref:`RotationMode<enum_PathFollow3D_RotationMode>` **get_rotation_mode**\ (\ )
|
||
|
||
Autorise ou interdit la rotation sur un ou plusieurs axes, selon les constantes :ref:`RotationMode<enum_PathFollow3D_RotationMode>` utilisées.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_tilt_enabled:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **tilt_enabled** = ``true`` :ref:`🔗<class_PathFollow3D_property_tilt_enabled>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_tilt_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_tilt_enabled**\ (\ )
|
||
|
||
Si ``true``, la propriété d'inclinaison de la :ref:`Curve3D<class_Curve3D>` prend effet.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_use_model_front:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **use_model_front** = ``false`` :ref:`🔗<class_PathFollow3D_property_use_model_front>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_use_model_front**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_using_model_front**\ (\ )
|
||
|
||
If ``true``, the node moves on the travel path with orienting the +Z axis as forward. See also :ref:`Vector3.FORWARD<class_Vector3_constant_FORWARD>` and :ref:`Vector3.MODEL_FRONT<class_Vector3_constant_MODEL_FRONT>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PathFollow3D_property_v_offset:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **v_offset** = ``0.0`` :ref:`🔗<class_PathFollow3D_property_v_offset>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_v_offset**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_v_offset**\ (\ )
|
||
|
||
Le décalage du nœud perpendiculairement à la courbe.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Descriptions des méthodes
|
||
--------------------------------------------------
|
||
|
||
.. _class_PathFollow3D_method_correct_posture:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Transform3D<class_Transform3D>` **correct_posture**\ (\ transform\: :ref:`Transform3D<class_Transform3D>`, rotation_mode\: :ref:`RotationMode<enum_PathFollow3D_RotationMode>`\ ) |static| :ref:`🔗<class_PathFollow3D_method_correct_posture>`
|
||
|
||
Corrige la transformation ``transform``. ``rotation_mode`` spécifie implicitement comment la posture (direction avant, haut et côté) est calculée.
|
||
|
||
.. |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.)`
|