Files
godot-docs-l10n/classes/it/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
33 KiB
ReStructuredText

:github_url: hide
.. meta::
:keywords: batch
.. _class_MultiMesh:
MultiMesh
=========
**Eredita:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Fornisce il disegno ad alte prestazioni di una mesh più volte tramite l'istanzamento sulla GPU.
.. rst-class:: classref-introduction-group
Descrizione
----------------------
MultiMesh fornisce istanze di mesh di basso livello. Disegnare migliaia di nodi :ref:`MeshInstance3D<class_MeshInstance3D>` può essere lento, poiché ogni oggetto viene inviato alla GPU e poi disegnato individualmente.
MultiMesh è molto più veloce poiché può disegnare migliaia di istanze con una singola chiamata di disegno, con conseguente minore sovraccarico sull'API.
Come svantaggio, se le istanze sono troppo distanti tra loro, le prestazioni potrebbero essere ridotte poiché ogni singola istanza sarà sempre renderizzata (sono indicizzate spazialmente come una, per l'intero oggetto).
Poiché le istanze possono avere qualsiasi comportamento, l'AABB utilizzato per la visibilità deve essere fornito dall'utente.
\ **Nota:** Un MultiMesh è un singolo oggetto, pertanto si applica la stessa restrizione di luci massime per oggetto. Ciò significa che una volta che le luci massime sono consumate da una o più istanze, il resto delle istanze di MultiMesh **non** riceveranno alcuna illuminazione.
\ **Nota:** Le forme di fusione saranno ignorate se utilizzate in un MultiMesh.
.. rst-class:: classref-introduction-group
Tutorial
----------------
- :doc:`Utilizzo di MultiMeshInstance <../tutorials/3d/using_multi_mesh_instance>`
- :doc:`Ottimizzazione utilizzando i MultiMesh <../tutorials/performance/using_multimesh>`
- :doc:`Animare migliaia di pesci con MultiMeshInstance <../tutorials/performance/vertex_animation/animating_thousands_of_fish>`
.. rst-class:: classref-reftable-group
Proprietà
------------------
.. 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
Metodi
------------
.. 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
Enumerazioni
------------------------
.. _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``
Usa questo quando esegui trasformazioni 2D.
.. _class_MultiMesh_constant_TRANSFORM_3D:
.. rst-class:: classref-enumeration-constant
:ref:`TransformFormat<enum_MultiMesh_TransformFormat>` **TRANSFORM_3D** = ``1``
Usa questo quando esegui trasformazioni 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
Descrizioni delle proprietà
------------------------------------------------------
.. _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>`
**Deprecato:** 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.
Array contenente ciascun :ref:`Color<class_Color>` utilizzato da tutte le istanze di questa mesh.
**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**\ (\ )
L'AABB personalizzato per questa risorsa MultiMesh. Impostandolo manualmente si evitano costosi ricalcoli dell'AABB in fase di esecuzione.
.. 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>`
**Deprecato:** 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.
L'array contenente ciascun valore di dati personalizzati utilizzato da tutte le istanze di questa mesh, sotto forma di :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**\ (\ )
Numero di istanze che saranno disegnate. Questo svuota e (ri)dimensiona i buffer. Impostare il formato dei dati o dei flag successivamente non avrà alcun effetto.
Per impostazione predefinita, sono disegnate tutte le istanze, ma è possibile limitarlo con :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**\ (\ )
Risorsa :ref:`Mesh<class_Mesh>` da istanziare.
L'aspetto delle singole istanze può essere modificato utilizzando :ref:`set_instance_color()<class_MultiMesh_method_set_instance_color>` e :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**\ (\ )
Scegli se usare un metodo di interpolazione che favorisca la velocità o la qualità.
Quando usi frequenze basse per i tick di fisica (tipicamente inferiori a 20) o alte frequenze di rotazione degli oggetti, potresti ottenere risultati migliori con l'impostazione dell'alta qualità.
\ **Nota:** Una qualità veloce non equivale a una bassa qualità. Tranne nei casi speciali menzionati sopra, la qualità dovrebbe essere paragonabile a una qualità alta.
.. 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>`
**Deprecato:** 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.
L'array contenente ciascun valore :ref:`Transform2D<class_Transform2D>` utilizzato da tutte le istanze di questa mesh, sotto forma di :ref:`PackedVector2Array<class_PackedVector2Array>`. Ogni trasformazione è divisa in 3 valori :ref:`Vector2<class_Vector2>` corrispondenti a ``x``, ``y`` e ``origin`` delle trasformazioni.
**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>`
**Deprecato:** 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.
L'array contenente ciascun valore :ref:`Transform3D<class_Transform3D>` utilizzato da tutte le istanze di questa mesh, sotto forma di :ref:`PackedVector3Array<class_PackedVector3Array>`. Ogni trasformazione è divisa in 4 valori :ref:`Vector3<class_Vector3>` corrispondenti a ``x``, ``y``, ``z`` e ``origin`` delle trasformazioni.
**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**\ (\ )
Il formato della trasformazione utilizzata per trasformare la mesh, 2D o 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**\ (\ )
Se ``true``, il **MultiMesh** utilizzerà i dati dei colori (vedi :ref:`set_instance_color()<class_MultiMesh_method_set_instance_color>`). Può essere impostato solo quando :ref:`instance_count<class_MultiMesh_property_instance_count>` è ``0`` o inferiore. Ciò significa che è necessario chiamare questo metodo prima di impostare il conteggio delle istanze o reimpostarlo temporaneamente su ``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**\ (\ )
Se ``true``, il **MultiMesh** utilizzerà i dati personalizzati (vedi :ref:`set_instance_custom_data()<class_MultiMesh_method_set_instance_custom_data>`). Può essere impostato solo quando :ref:`instance_count<class_MultiMesh_property_instance_count>` è ``0`` o inferiore. Ciò significa che è necessario chiamare questo metodo prima di impostare il conteggio delle istanze o reimpostarlo temporaneamente su ``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**\ (\ )
Limita il numero di istanze disegnate, -1 disegna tutte le istanze. Cambiando questo non si cambiano le dimensioni dei buffer.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descrizioni dei metodi
--------------------------------------------
.. _class_MultiMesh_method_get_aabb:
.. rst-class:: classref-method
:ref:`AABB<class_AABB>` **get_aabb**\ (\ ) |const| :ref:`🔗<class_MultiMesh_method_get_aabb>`
Restituisce la bounding box di visibilità allineato all'asse nello spazio locale.
.. 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>`
Ottiene il moltiplicatore di colore di un'istanza specifica.
.. 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>`
Restituisce i dati personalizzati impostati per un'istanza specifica.
.. 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>`
Restituisce il :ref:`Transform3D<class_Transform3D>` di un'istanza specifica.
.. 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>`
Restituisce il :ref:`Transform2D<class_Transform2D>` di un'istanza specifica.
.. 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>`
Quando si usa l'*interpolazione della fisica*, questa funzione consente di impedire l'interpolazione su un'istanza nel tick attuale di fisica.
Ciò consente di spostare le istanze istantaneamente e dovrebbe essere solitamente utilizzato quando si posiziona inizialmente un'istanza, come un proiettile, per impedire errori grafici.
.. 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>`
Un'alternativa a impostare la proprietà :ref:`buffer<class_MultiMesh_property_buffer>`, che può essere utilizzata con l'*interpolazione della fisica*. Questo metodo prende due array e può impostare i dati per il tick attuale e quello precedente in una volta sola. Il renderer interpolerà automaticamente i dati a ogni frame.
Ciò è utile per le situazioni in cui l'ordine delle istanze può cambiare da tick a tick, come i sistemi di particelle.
Quando l'ordine delle istanze è coerente, è possibile comunque utilizzare l'alternativa più semplice di impostare :ref:`buffer<class_MultiMesh_property_buffer>` con l'interpolazione.
.. 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>`
Imposta il colore di un'istanza specifica *moltiplicando* i colori dei vertici esistenti della mesh. Ciò consente diverse tinte di colore per istanza.
\ **Nota:** Ogni componente è memorizzato in 32 bit nei metodi di rendering Forward+ e Mobile, ma è compresso in 16 bit nel metodo di rendering Compatibilità.
Affinché il colore abbia effetto, assicurati che :ref:`use_colors<class_MultiMesh_property_use_colors>` sia ``true`` sul **MultiMesh** e che :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` sia ``true`` sul materiale. Se intendi impostare un colore assoluto anziché una tinta, assicurati che il colore dell'albedo del materiale sia impostato su bianco puro (``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>`
Imposta i dati personalizzati per un'istanza specifica. ``custom_data`` è un tipo :ref:`Color<class_Color>` che contiene solo 4 numeri in virgola mobile.
\ **Nota:** Ogni componente è memorizzato in 32 bit nei metodi di rendering Forward+ e Mobile, ma è compresso in 16 bit nel metodo di rendering Compatibilità.
Per utilizzare i dati personalizzati, assicurati che :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>` sia ``true``.
Questi dati di istanza personalizzati devono essere accessibili manualmente nel tuo shader personalizzato tramite ``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>`
Imposta il :ref:`Transform3D<class_Transform3D>` per un'istanza specifica.
.. 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>`
Imposta il :ref:`Transform2D<class_Transform2D>` per un'istanza specifica.
.. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)`
.. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)`
.. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)`
.. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)`
.. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)`
.. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)`
.. |void| replace:: :abbr:`void (Nessun valore restituito.)`