Files
godot-docs-l10n/classes/fr/class_multimesh.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

580 lines
34 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
.. meta::
:keywords: batch
.. _class_MultiMesh:
MultiMesh
=========
**Hérite de:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Fournit du dessin haute performance d'un maillage plusieurs fois en utilisant linstanciation par le GPU.
.. rst-class:: classref-introduction-group
Description
-----------
MultiMesh provides low-level mesh instancing. Drawing thousands of :ref:`MeshInstance3D<class_MeshInstance3D>` nodes can be slow, since each object is submitted to the GPU then drawn individually.
MultiMesh is much faster as it can draw thousands of instances with a single draw call, resulting in less API overhead.
As a drawback, if the instances are too far away from each other, performance may be reduced as every single instance will always render (they are spatially indexed as one, for the whole object).
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
\ **Note:** A MultiMesh is a single object, therefore the same maximum lights per object restriction applies. This means, that once the maximum lights are consumed by one or more instances, the rest of the MultiMesh instances will **not** receive any lighting.
\ **Note:** Blend Shapes will be ignored if used in a MultiMesh.
.. rst-class:: classref-introduction-group
Tutoriels
------------------
- :doc:`Utilisation de MultiMeshInstance <../tutorials/3d/using_multi_mesh_instance>`
- :doc:`Optimisation à laide de MultiMeshes <../tutorials/performance/using_multimesh>`
- :doc:`Animer des milliers de poissons avec MultiMeshInstance <../tutorials/performance/vertex_animation/animating_thousands_of_fish>`
.. rst-class:: classref-reftable-group
Propriétés
--------------------
.. table::
:widths: auto
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`buffer<class_MultiMesh_property_buffer>` | ``PackedFloat32Array()`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`color_array<class_MultiMesh_property_color_array>` | |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`AABB<class_AABB>` | :ref:`custom_aabb<class_MultiMesh_property_custom_aabb>` | ``AABB(0, 0, 0, 0, 0, 0)`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`custom_data_array<class_MultiMesh_property_custom_data_array>` | |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`int<class_int>` | :ref:`instance_count<class_MultiMesh_property_instance_count>` | ``0`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`Mesh<class_Mesh>` | :ref:`mesh<class_MultiMesh_property_mesh>` | |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>` | :ref:`physics_interpolation_quality<class_MultiMesh_property_physics_interpolation_quality>` | ``0`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`transform_2d_array<class_MultiMesh_property_transform_2d_array>` | |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`transform_array<class_MultiMesh_property_transform_array>` | |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` | :ref:`transform_format<class_MultiMesh_property_transform_format>` | ``0`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`bool<class_bool>` | :ref:`use_colors<class_MultiMesh_property_use_colors>` | ``false`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`bool<class_bool>` | :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>` | ``false`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
| :ref:`int<class_int>` | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` | ``-1`` |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+
.. rst-class:: classref-reftable-group
Méthodes
----------------
.. table::
:widths: auto
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_AABB>` | :ref:`get_aabb<class_MultiMesh_method_get_aabb>`\ (\ ) |const| |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_instance_color<class_MultiMesh_method_get_instance_color>`\ (\ instance\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_instance_custom_data<class_MultiMesh_method_get_instance_custom_data>`\ (\ instance\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform3D<class_Transform3D>` | :ref:`get_instance_transform<class_MultiMesh_method_get_instance_transform>`\ (\ instance\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`get_instance_transform_2d<class_MultiMesh_method_get_instance_transform_2d>`\ (\ instance\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`reset_instance_physics_interpolation<class_MultiMesh_method_reset_instance_physics_interpolation>`\ (\ instance\: :ref:`int<class_int>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`reset_instances_physics_interpolation<class_MultiMesh_method_reset_instances_physics_interpolation>`\ (\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_buffer_interpolated<class_MultiMesh_method_set_buffer_interpolated>`\ (\ buffer_curr\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, buffer_prev\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>`\ (\ instance\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>`\ (\ instance\: :ref:`int<class_int>`, custom_data\: :ref:`Color<class_Color>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_instance_transform<class_MultiMesh_method_set_instance_transform>`\ (\ instance\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>`\ (\ instance\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Énumérations
------------------------
.. _enum_MultiMesh_TransformFormat:
.. rst-class:: classref-enumeration
enum **TransformFormat**: :ref:`🔗<enum_MultiMesh_TransformFormat>`
.. _class_MultiMesh_constant_TRANSFORM_2D:
.. rst-class:: classref-enumeration-constant
:ref:`TransformFormat<enum_MultiMesh_TransformFormat>` **TRANSFORM_2D** = ``0``
Utiliser ceci de l'utilisation de transformations 2D.
.. _class_MultiMesh_constant_TRANSFORM_3D:
.. rst-class:: classref-enumeration-constant
:ref:`TransformFormat<enum_MultiMesh_TransformFormat>` **TRANSFORM_3D** = ``1``
Utiliser ceci de l'utilisation de transformations 3D.
.. rst-class:: classref-item-separator
----
.. _enum_MultiMesh_PhysicsInterpolationQuality:
.. rst-class:: classref-enumeration
enum **PhysicsInterpolationQuality**: :ref:`🔗<enum_MultiMesh_PhysicsInterpolationQuality>`
.. _class_MultiMesh_constant_INTERP_QUALITY_FAST:
.. rst-class:: classref-enumeration-constant
:ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>` **INTERP_QUALITY_FAST** = ``0``
Always interpolate using Basis lerping, which can produce warping artifacts in some situations.
.. _class_MultiMesh_constant_INTERP_QUALITY_HIGH:
.. rst-class:: classref-enumeration-constant
:ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>` **INTERP_QUALITY_HIGH** = ``1``
Attempt to interpolate using Basis slerping (spherical linear interpolation) where possible, otherwise fall back to lerping.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des propriétés
------------------------------------------------------
.. _class_MultiMesh_property_buffer:
.. rst-class:: classref-property
:ref:`PackedFloat32Array<class_PackedFloat32Array>` **buffer** = ``PackedFloat32Array()`` :ref:`🔗<class_MultiMesh_property_buffer>`
.. rst-class:: classref-property-setget
- |void| **set_buffer**\ (\ value\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ )
- :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_buffer**\ (\ )
.. container:: contribute
There is currently no description for this property. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_color_array:
.. rst-class:: classref-property
:ref:`PackedColorArray<class_PackedColorArray>` **color_array** :ref:`🔗<class_MultiMesh_property_color_array>`
**Obsolète:** Accessing this property is very slow. Use :ref:`set_instance_color()<class_MultiMesh_method_set_instance_color>` and :ref:`get_instance_color()<class_MultiMesh_method_get_instance_color>` instead.
Tableau contenant chaque :ref:`Color<class_Color>` utilisée par toutes les instances de ce maillage.
**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_custom_aabb:
.. rst-class:: classref-property
:ref:`AABB<class_AABB>` **custom_aabb** = ``AABB(0, 0, 0, 0, 0, 0)`` :ref:`🔗<class_MultiMesh_property_custom_aabb>`
.. rst-class:: classref-property-setget
- |void| **set_custom_aabb**\ (\ value\: :ref:`AABB<class_AABB>`\ )
- :ref:`AABB<class_AABB>` **get_custom_aabb**\ (\ )
AABB personnalisée pour cette ressource MultiMesh. Définir ceci manuellement empêche des calculs coûteux d'AABB durant l'exécution.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_custom_data_array:
.. rst-class:: classref-property
:ref:`PackedColorArray<class_PackedColorArray>` **custom_data_array** :ref:`🔗<class_MultiMesh_property_custom_data_array>`
**Obsolète:** Accessing this property is very slow. Use :ref:`set_instance_custom_data()<class_MultiMesh_method_set_instance_custom_data>` and :ref:`get_instance_custom_data()<class_MultiMesh_method_get_instance_custom_data>` instead.
Tableau contenant chaque valeur de données personnalisées utilisées par toutes les instances de ce maillage, en tant que :ref:`PackedColorArray<class_PackedColorArray>`.
**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedColorArray<class_PackedColorArray>` for more details.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_instance_count:
.. rst-class:: classref-property
:ref:`int<class_int>` **instance_count** = ``0`` :ref:`🔗<class_MultiMesh_property_instance_count>`
.. rst-class:: classref-property-setget
- |void| **set_instance_count**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_instance_count**\ (\ )
Nombre d'instances qui seront dessinées. Cela videra et re-dimensionnera les buffers. Définir le format des données ou les drapeaux après ceci n'aura aucun effet.
Par défaut, toutes les instantes sont dessinées mais vous pouvez limiter cela avec :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>`.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_mesh:
.. rst-class:: classref-property
:ref:`Mesh<class_Mesh>` **mesh** :ref:`🔗<class_MultiMesh_property_mesh>`
.. rst-class:: classref-property-setget
- |void| **set_mesh**\ (\ value\: :ref:`Mesh<class_Mesh>`\ )
- :ref:`Mesh<class_Mesh>` **get_mesh**\ (\ )
Ressource :ref:`Mesh<class_Mesh>` à instancier.
Les apparences des instances individuelles peuvent être modifiées en utilisant :ref:`set_instance_color()<class_MultiMesh_method_set_instance_color>` et :ref:`set_instance_custom_data()<class_MultiMesh_method_set_instance_custom_data>`.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_physics_interpolation_quality:
.. rst-class:: classref-property
:ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>` **physics_interpolation_quality** = ``0`` :ref:`🔗<class_MultiMesh_property_physics_interpolation_quality>`
.. rst-class:: classref-property-setget
- |void| **set_physics_interpolation_quality**\ (\ value\: :ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>`\ )
- :ref:`PhysicsInterpolationQuality<enum_MultiMesh_PhysicsInterpolationQuality>` **get_physics_interpolation_quality**\ (\ )
Choisissez si vous utilisez une méthode d'interpolation qui favorise la vitesse ou la qualité.
Lors de l'utilisation de faibles vitesses de tics de physique (généralement inférieur à 20) ou de vitesses élevées de rotation d'objets, vous pouvez obtenir de meilleurs résultats à partir du réglage en haute qualité.
\ **Note: ** Une qualité rapide n'équivaut pas à une qualité basse. Sauf dans les cas spéciaux mentionnés ci-dessus, la qualité devrait être comparable à la haute qualité.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_transform_2d_array:
.. rst-class:: classref-property
:ref:`PackedVector2Array<class_PackedVector2Array>` **transform_2d_array** :ref:`🔗<class_MultiMesh_property_transform_2d_array>`
**Obsolète:** Accessing this property is very slow. Use :ref:`set_instance_transform_2d()<class_MultiMesh_method_set_instance_transform_2d>` and :ref:`get_instance_transform_2d()<class_MultiMesh_method_get_instance_transform_2d>` instead.
Tableau contenant chaque valeur de :ref:`Transform2D<class_Transform2D>` utilisées par toutes les instances de ce maillage, en tant que :ref:`PackedVector2Array<class_PackedVector2Array>`. Chaque transformation est divisée en 3 valeurs :ref:`Vector2<class_Vector2>` correspondant aux ``x``, ``y``, et ``origin`` de la transformation.
**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_transform_array:
.. rst-class:: classref-property
:ref:`PackedVector3Array<class_PackedVector3Array>` **transform_array** :ref:`🔗<class_MultiMesh_property_transform_array>`
**Obsolète:** Accessing this property is very slow. Use :ref:`set_instance_transform()<class_MultiMesh_method_set_instance_transform>` and :ref:`get_instance_transform()<class_MultiMesh_method_get_instance_transform>` instead.
Tableau contenant chaque valeur de :ref:`Transform3D<class_Transform3D>` utilisées par toutes les instances de ce maillage, en tant que :ref:`PackedVector3Array<class_PackedVector3Array>`. Chaque transformation est divisée en 4 valeurs :ref:`Vector3<class_Vector3>` correspondant aux valeurs ``x``, ``y``, ``z``, et ``origin`` de la transformation.
**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector3Array<class_PackedVector3Array>` for more details.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_transform_format:
.. rst-class:: classref-property
:ref:`TransformFormat<enum_MultiMesh_TransformFormat>` **transform_format** = ``0`` :ref:`🔗<class_MultiMesh_property_transform_format>`
.. rst-class:: classref-property-setget
- |void| **set_transform_format**\ (\ value\: :ref:`TransformFormat<enum_MultiMesh_TransformFormat>`\ )
- :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` **get_transform_format**\ (\ )
Le format de la transformation utilisée pour le transformation du maillage, soit en 2D ou en 3D.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_use_colors:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **use_colors** = ``false`` :ref:`🔗<class_MultiMesh_property_use_colors>`
.. rst-class:: classref-property-setget
- |void| **set_use_colors**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_using_colors**\ (\ )
Si ``true``, le **MultiMesh** utilisera des données de couleur (voir :ref:`set_instance_color()<class_MultiMesh_method_set_instance_color>`). Peut seulement être défini lorsque :ref:`instance_count<class_MultiMesh_property_instance_count>` vaut ``0`` ou moins. Cela signifie que vous devez appeler cette méthode avant de définir le nombre d'instances, ou de le réinitialiser temporairement à ``0``.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_use_custom_data:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **use_custom_data** = ``false`` :ref:`🔗<class_MultiMesh_property_use_custom_data>`
.. rst-class:: classref-property-setget
- |void| **set_use_custom_data**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_using_custom_data**\ (\ )
Si ``true``, **MultiMesh** utilisera des données personnalisées (voir :ref:`set_instance_custom_data()<class_MultiMesh_method_set_instance_custom_data>`). Peut seulement être défini lorsque :ref:`instance_count<class_MultiMesh_property_instance_count>` vaut ``0`` ou moins. Cela signifie que vous devez appeler cette méthode avant de définir le nombre d'instances, ou de le réinitialiser temporairement à ``0``.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_property_visible_instance_count:
.. rst-class:: classref-property
:ref:`int<class_int>` **visible_instance_count** = ``-1`` :ref:`🔗<class_MultiMesh_property_visible_instance_count>`
.. rst-class:: classref-property-setget
- |void| **set_visible_instance_count**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_visible_instance_count**\ (\ )
Limite le nombre d'instances affichées, et -1 les dessine toutes. Changer cela ne change pas la taille des mémoires tampons.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des méthodes
--------------------------------------------------
.. _class_MultiMesh_method_get_aabb:
.. rst-class:: classref-method
:ref:`AABB<class_AABB>` **get_aabb**\ (\ ) |const| :ref:`🔗<class_MultiMesh_method_get_aabb>`
Renvoie la boîte délimitante de visibilité alignée sur les axes, dans l'espace local.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_get_instance_color:
.. rst-class:: classref-method
:ref:`Color<class_Color>` **get_instance_color**\ (\ instance\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_MultiMesh_method_get_instance_color>`
Obtient le multiplicateur de couleur d'une instance spécifique.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_get_instance_custom_data:
.. rst-class:: classref-method
:ref:`Color<class_Color>` **get_instance_custom_data**\ (\ instance\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_MultiMesh_method_get_instance_custom_data>`
Renvoie les données personnalisées qui ont été définies pour cette instance spécifique.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_get_instance_transform:
.. rst-class:: classref-method
:ref:`Transform3D<class_Transform3D>` **get_instance_transform**\ (\ instance\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_MultiMesh_method_get_instance_transform>`
Renvoie la :ref:`Transform3D<class_Transform3D>` d'une instance spécifique.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_get_instance_transform_2d:
.. rst-class:: classref-method
:ref:`Transform2D<class_Transform2D>` **get_instance_transform_2d**\ (\ instance\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_MultiMesh_method_get_instance_transform_2d>`
Renvoie la :ref:`Transform2D<class_Transform2D>` de l'instance spécifiée.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_reset_instance_physics_interpolation:
.. rst-class:: classref-method
|void| **reset_instance_physics_interpolation**\ (\ instance\: :ref:`int<class_int>`\ ) :ref:`🔗<class_MultiMesh_method_reset_instance_physics_interpolation>`
Lorsque de l'utilisation de l'*interpolation de la physique*, cette fonction vous permet d'empêcher l'interpolation sur une instance dans le tic de physique actuel.
Cela vous permet de déplacer des instances instantanément, et devrait généralement être utilisé lors de la mise en place initiale d'une instance telle qu'une balle pour empêcher des problèmes graphiques.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_reset_instances_physics_interpolation:
.. rst-class:: classref-method
|void| **reset_instances_physics_interpolation**\ (\ ) :ref:`🔗<class_MultiMesh_method_reset_instances_physics_interpolation>`
When using *physics interpolation*, this function allows you to prevent interpolation for all instances in the current physics tick.
This allows you to move all instances instantaneously, and should usually be used when initially placing instances to prevent graphical glitches.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_set_buffer_interpolated:
.. rst-class:: classref-method
|void| **set_buffer_interpolated**\ (\ buffer_curr\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, buffer_prev\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) :ref:`🔗<class_MultiMesh_method_set_buffer_interpolated>`
An alternative to setting the :ref:`buffer<class_MultiMesh_property_buffer>` property, which can be used with *physics interpolation*. This method takes two arrays, and can set the data for the current and previous tick in one go. The renderer will automatically interpolate the data at each frame.
This is useful for situations where the order of instances may change from physics tick to tick, such as particle systems.
When the order of instances is coherent, the simpler alternative of setting :ref:`buffer<class_MultiMesh_property_buffer>` can still be used with interpolation.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_set_instance_color:
.. rst-class:: classref-method
|void| **set_instance_color**\ (\ instance\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_MultiMesh_method_set_instance_color>`
Définit la couleur d'une instance spécifique en *multipliant* les couleurs des sommets existants du maillage. Cela permet d'avoir une teinte de couleur différente par instance.
\ **Note :** Chaque composante est stockée sur 32 bits dans les méthodes de rendu Forward+ et Mobile, mais est compactée sur 16 bits dans la méthode de rendu Compatiblité.
Pour que la couleur soit modifiée, assurez-vous que :ref:`use_colors<class_MultiMesh_property_use_colors>` vaille ``true`` sur le **MultiMesh** et que :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` vaille ``true`` dans le matériau. Si vous avez l'intention de définir une couleur absolue au lieu de teinter, assurez-vous que la couleur d'albedo du matériau soit définie à un blanc pur (``Color(1, 1, 1)``).
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_set_instance_custom_data:
.. rst-class:: classref-method
|void| **set_instance_custom_data**\ (\ instance\: :ref:`int<class_int>`, custom_data\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_MultiMesh_method_set_instance_custom_data>`
Définit des données personnalisées pour une instance spécifique. ``custom_data`` est un type :ref:`Color<class_Color>` qui contient seulement 4 nombres flottants.
\ **Note :** Chaque composante est stockée sur 32 bits dans les méthodes de rendu Forward+ et Mobile, mais est compactée sur 16 bits dans la méthode de rendu Compatiblité.
Pour que les données personnalisées soient utilisées, assurez-vous que :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>` vaille ``true``.
Ces données d'instance personnalisées doivent être accédées manuellement dans votre shader personnalisé en utilisant ``INSTANCE_CUSTOM``.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_set_instance_transform:
.. rst-class:: classref-method
|void| **set_instance_transform**\ (\ instance\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) :ref:`🔗<class_MultiMesh_method_set_instance_transform>`
Définit la :ref:`Transform3D<class_Transform3D>` pour une instance spécifique.
.. rst-class:: classref-item-separator
----
.. _class_MultiMesh_method_set_instance_transform_2d:
.. rst-class:: classref-method
|void| **set_instance_transform_2d**\ (\ instance\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_MultiMesh_method_set_instance_transform_2d>`
Définit la :ref:`Transform2D<class_Transform2D>` pour l'instance spécifié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.)`