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

413 lines
38 KiB
ReStructuredText

:github_url: hide
.. _class_EditorNode3DGizmo:
EditorNode3DGizmo
=================
**Eredita:** :ref:`Node3DGizmo<class_Node3DGizmo>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Gizmo per modificare gli oggetti :ref:`Node3D<class_Node3D>`.
.. rst-class:: classref-introduction-group
Descrizione
----------------------
Gizmo che serve per fornire visualizzazione e modifica personalizzate (maniglie e gizmo secondari) per gli oggetti :ref:`Node3D<class_Node3D>`. Si può sovrascrivere per creare gizmo personalizzati, ma per i gizmo semplici solitamente si consiglia di creare un :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>`.
.. rst-class:: classref-reftable-group
Metodi
------------
.. table::
:widths: auto
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_begin_handle_action<class_EditorNode3DGizmo_private_method__begin_handle_action>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_commit_handle<class_EditorNode3DGizmo_private_method__commit_handle>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, restore\: :ref:`Variant<class_Variant>`, cancel\: :ref:`bool<class_bool>`\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_commit_subgizmos<class_EditorNode3DGizmo_private_method__commit_subgizmos>`\ (\ ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, restores\: :ref:`Array<class_Array>`\[:ref:`Transform3D<class_Transform3D>`\], cancel\: :ref:`bool<class_bool>`\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_handle_name<class_EditorNode3DGizmo_private_method__get_handle_name>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`_get_handle_value<class_EditorNode3DGizmo_private_method__get_handle_value>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform3D<class_Transform3D>` | :ref:`_get_subgizmo_transform<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>`\ (\ id\: :ref:`int<class_int>`\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_handle_highlighted<class_EditorNode3DGizmo_private_method__is_handle_highlighted>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_redraw<class_EditorNode3DGizmo_private_method__redraw>`\ (\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_set_handle<class_EditorNode3DGizmo_private_method__set_handle>`\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_set_subgizmo_transform<class_EditorNode3DGizmo_private_method__set_subgizmo_transform>`\ (\ id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |virtual| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_subgizmos_intersect_frustum<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, frustum\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\]\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_subgizmos_intersect_ray<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>`\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_collision_segments<class_EditorNode3DGizmo_method_add_collision_segments>`\ (\ segments\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_collision_triangles<class_EditorNode3DGizmo_method_add_collision_triangles>`\ (\ triangles\: :ref:`TriangleMesh<class_TriangleMesh>`\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_handles<class_EditorNode3DGizmo_method_add_handles>`\ (\ handles\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, billboard\: :ref:`bool<class_bool>` = false, secondary\: :ref:`bool<class_bool>` = false\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_lines<class_EditorNode3DGizmo_method_add_lines>`\ (\ lines\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, billboard\: :ref:`bool<class_bool>` = false, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_mesh<class_EditorNode3DGizmo_method_add_mesh>`\ (\ mesh\: :ref:`Mesh<class_Mesh>`, material\: :ref:`Material<class_Material>` = null, transform\: :ref:`Transform3D<class_Transform3D>` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), skeleton\: :ref:`SkinReference<class_SkinReference>` = null\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_unscaled_billboard<class_EditorNode3DGizmo_method_add_unscaled_billboard>`\ (\ material\: :ref:`Material<class_Material>`, default_scale\: :ref:`float<class_float>` = 1, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear<class_EditorNode3DGizmo_method_clear>`\ (\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Node3D<class_Node3D>` | :ref:`get_node_3d<class_EditorNode3DGizmo_method_get_node_3d>`\ (\ ) |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` | :ref:`get_plugin<class_EditorNode3DGizmo_method_get_plugin>`\ (\ ) |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_subgizmo_selection<class_EditorNode3DGizmo_method_get_subgizmo_selection>`\ (\ ) |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_subgizmo_selected<class_EditorNode3DGizmo_method_is_subgizmo_selected>`\ (\ id\: :ref:`int<class_int>`\ ) |const| |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_hidden<class_EditorNode3DGizmo_method_set_hidden>`\ (\ hidden\: :ref:`bool<class_bool>`\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_node_3d<class_EditorNode3DGizmo_method_set_node_3d>`\ (\ node\: :ref:`Node<class_Node>`\ ) |
+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descrizioni dei metodi
--------------------------------------------
.. _class_EditorNode3DGizmo_private_method__begin_handle_action:
.. rst-class:: classref-method
|void| **_begin_handle_action**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__begin_handle_action>`
.. container:: contribute
There is currently no description for this method. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__commit_handle:
.. rst-class:: classref-method
|void| **_commit_handle**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, restore\: :ref:`Variant<class_Variant>`, cancel\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__commit_handle>`
Sovrascrivi questo metodo per commettere una maniglia in fase di modifica (le maniglie devono essere state aggiunte in precedenza da :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). Questo di solito significa creare un'azione di :ref:`UndoRedo<class_UndoRedo>` per la modifica, utilizzando il valore della maniglia attuale come "fai" e l'argomento ``restore`` come "annulla".
Se l'argomento ``cancel`` è ``true``, il valore ``restore`` dovrebbe essere impostato direttamente, senza alcuna azione di :ref:`UndoRedo<class_UndoRedo>`.
L'argomento ``secondary`` è ``true`` quando la maniglia commessa è secondaria (vedi :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` per maggiori informazioni).
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__commit_subgizmos:
.. rst-class:: classref-method
|void| **_commit_subgizmos**\ (\ ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, restores\: :ref:`Array<class_Array>`\[:ref:`Transform3D<class_Transform3D>`\], cancel\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__commit_subgizmos>`
Sovrascrivi questo metodo per commettere un gruppo di gizmo secondari in fase di modifica (vedi :ref:`_subgizmos_intersect_ray()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>` e :ref:`_subgizmos_intersect_frustum()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`). Questo di solito significa creare un'azione di :ref:`UndoRedo<class_UndoRedo>` per la modifica, usando le trasformazioni attuali come "fai" e le trasformazioni ``restores`` come "annulla".
Se l'argomento ``cancel`` è ``true``, le trasformazioni ``restores`` dovrebbero essere impostate direttamente, senza alcuna azione di :ref:`UndoRedo<class_UndoRedo>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__get_handle_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **_get_handle_name**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_handle_name>`
Sovrascrivi questo metodo per restituire il nome di una maniglia in fase di modifica (le maniglie devono essere state aggiunte in precedenza da :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). Le maniglie possono avere nomi come riferimento per l'utente durante la modifica.
L'argomento ``secondary`` è ``true`` quando la maniglia richiesta è secondaria (vedi :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` per maggiori informazioni).
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__get_handle_value:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **_get_handle_value**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_handle_value>`
Sovrascrivi questo metodo per restituire il valore attuale di una maniglia. Questo valore sarà richiesto all'inizio di una modifica e utilizzato come argomento ``restore`` in :ref:`_commit_handle()<class_EditorNode3DGizmo_private_method__commit_handle>`.
L'argomento ``secondary`` è ``true`` quando la maniglia richiesta è secondaria (vedi :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` per maggiori informazioni).
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__get_subgizmo_transform:
.. rst-class:: classref-method
:ref:`Transform3D<class_Transform3D>` **_get_subgizmo_transform**\ (\ id\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>`
Sovrascrivi questo metodo per restituire la trasformazione attuale di un gizmo secondario. Questa trasformazione sarà richiesta all'inizio di una modifica e utilizzata come argomento ``restore`` in :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__is_handle_highlighted:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_handle_highlighted**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__is_handle_highlighted>`
Sovrascrivi questo metodo per restituire ``true`` quando la maniglia specificata deve essere evidenziata nell'editor.
L'argomento ``secondary`` è ``true`` quando la maniglia richiesta è secondaria (vedi :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` per maggiori informazioni).
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__redraw:
.. rst-class:: classref-method
|void| **_redraw**\ (\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__redraw>`
Sovrascrivi questo metodo per aggiungere tutti gli elementi gizmo quando un aggiornamento dei gizmo viene richiesto. È comune chiamare :ref:`clear()<class_EditorNode3DGizmo_method_clear>` all'inizio di questo metodo e successivamente aggiungere elementi visivi in base alle proprietà del nodo.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__set_handle:
.. rst-class:: classref-method
|void| **_set_handle**\ (\ id\: :ref:`int<class_int>`, secondary\: :ref:`bool<class_bool>`, camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__set_handle>`
Sovrascrivi questo metodo per aggiornare le proprietà del nodo quando l'utente trascina una maniglia di un gizmo (aggiunta in precedenza con :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>`). ``point`` è la posizione del mouse nelle coordinate dello schermo e la telecamera ``camera`` può essere utilizzata per convertirla in raycast.
L'argomento ``secondary`` è ``true`` quando la maniglia modificata è secondaria (vedi :ref:`add_handles()<class_EditorNode3DGizmo_method_add_handles>` per maggiori informazioni).
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__set_subgizmo_transform:
.. rst-class:: classref-method
|void| **_set_subgizmo_transform**\ (\ id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |virtual| :ref:`🔗<class_EditorNode3DGizmo_private_method__set_subgizmo_transform>`
Sovrascrivi questo metodo per aggiornare le proprietà del nodo durante la modifica di un gizmo secondario (vedi :ref:`_subgizmos_intersect_ray()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>` e :ref:`_subgizmos_intersect_frustum()<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`). La trasformazione ``transform`` è specificata nel sistema di coordinate locali del :ref:`Node3D<class_Node3D>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_subgizmos_intersect_frustum**\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, frustum\: :ref:`Array<class_Array>`\[:ref:`Plane<class_Plane>`\]\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__subgizmos_intersect_frustum>`
Sovrascrivi questo metodo per consentire la selezione di gizmo secondari tramite trascinamento del mouse. Specificata una telecamera (``camera``) e un tronco (``frustum``), questo metodo dovrebbe restituire quali gizmo secondari sono contenuti nel tronco. L'argomento ``frustum`` consiste in un array con tutti i :ref:`Plane<class_Plane>` che compongono il tronco di selezione. Il valore restituito dovrebbe contenere una lista di identificatori univoci di gizmo secondari, che possono avere qualsiasi valore non negativo e saranno utilizzati in altri metodi virtuali come :ref:`_get_subgizmo_transform()<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>` o :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray:
.. rst-class:: classref-method
:ref:`int<class_int>` **_subgizmos_intersect_ray**\ (\ camera\: :ref:`Camera3D<class_Camera3D>`, point\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| :ref:`🔗<class_EditorNode3DGizmo_private_method__subgizmos_intersect_ray>`
Sovrascrivi questo metodo per consentire la selezione di gizmo secondari tramite clic del mouse. Specificata una telecamera (``camera``) e un punto (``point``) in coordinate dello schermo, questo metodo dovrebbe restituire quale gizmo secondario dovrebbe essere selezionato. Il valore restituito dovrebbe essere un identificatore univoco di gizmo secondario, che può avere qualsiasi valore non negativo e sarà utilizzato in altri metodi virtuali come :ref:`_get_subgizmo_transform()<class_EditorNode3DGizmo_private_method__get_subgizmo_transform>` o :ref:`_commit_subgizmos()<class_EditorNode3DGizmo_private_method__commit_subgizmos>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_collision_segments:
.. rst-class:: classref-method
|void| **add_collision_segments**\ (\ segments\: :ref:`PackedVector3Array<class_PackedVector3Array>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_collision_segments>`
Aggiunge i segmenti ``segments`` alla forma di collisione del gizmo per la selezione. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_collision_triangles:
.. rst-class:: classref-method
|void| **add_collision_triangles**\ (\ triangles\: :ref:`TriangleMesh<class_TriangleMesh>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_collision_triangles>`
Aggiunge triangoli di collisione al gizmo per la selezione. Un :ref:`TriangleMesh<class_TriangleMesh>` può essere generato anche da una :ref:`Mesh<class_Mesh>` regolare. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_handles:
.. rst-class:: classref-method
|void| **add_handles**\ (\ handles\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, ids\: :ref:`PackedInt32Array<class_PackedInt32Array>`, billboard\: :ref:`bool<class_bool>` = false, secondary\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_handles>`
Aggiunge una lista di maniglie (punti) che possono essere utilizzate per modificare le proprietà del :ref:`Node3D<class_Node3D>` del gizmo. L'argomento ``ids`` può essere utilizzato per specificare un identificatore personalizzato per ogni maniglia, se viene passato un array vuoto, gli id verranno assegnati automaticamente dall'ordine dell'argomento ``handles``.
L'argomento ``secondary`` contrassegna le maniglie aggiunte come secondarie, il che significa che normalmente avranno una priorità di selezione inferiore rispetto alle maniglie regolari. Quando l'utente tiene premuto il tasto Maiusc, Le maniglie secondarie avranno una priorità superiore rispetto alle maniglie regolari. Questo cambio di priorità può essere usato per posizionare più maniglie nello stesso punto, continuando a dare comunque all'utente il controllo sulla loro selezione.
Esistono metodi virtuali che saranno chiamati durante la modifica di queste maniglie. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_lines:
.. rst-class:: classref-method
|void| **add_lines**\ (\ lines\: :ref:`PackedVector3Array<class_PackedVector3Array>`, material\: :ref:`Material<class_Material>`, billboard\: :ref:`bool<class_bool>` = false, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_lines>`
Aggiunge linee al gizmo (come gruppi di 2 punti), con un determinato materiale. Le linee sono usate per visualizzare il gizmo. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_mesh:
.. rst-class:: classref-method
|void| **add_mesh**\ (\ mesh\: :ref:`Mesh<class_Mesh>`, material\: :ref:`Material<class_Material>` = null, transform\: :ref:`Transform3D<class_Transform3D>` = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), skeleton\: :ref:`SkinReference<class_SkinReference>` = null\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_mesh>`
Aggiunge una mesh al gizmo con il materiale (``material``), la trasformazione locale (``transform``) e lo scheletro (``skeleton``) specificati. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_add_unscaled_billboard:
.. rst-class:: classref-method
|void| **add_unscaled_billboard**\ (\ material\: :ref:`Material<class_Material>`, default_scale\: :ref:`float<class_float>` = 1, modulate\: :ref:`Color<class_Color>` = Color(1, 1, 1, 1)\ ) :ref:`🔗<class_EditorNode3DGizmo_method_add_unscaled_billboard>`
Aggiunge una billboard non scalato per la visualizzazione e la selezione. Chiama questo metodo durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_clear:
.. rst-class:: classref-method
|void| **clear**\ (\ ) :ref:`🔗<class_EditorNode3DGizmo_method_clear>`
Rimuove tutto il contenuto del gizmo, comprese mesh, collisioni e maniglie.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_get_node_3d:
.. rst-class:: classref-method
:ref:`Node3D<class_Node3D>` **get_node_3d**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_node_3d>`
Restituisce il nodo :ref:`Node3D<class_Node3D>` associato a questo gizmo.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_get_plugin:
.. rst-class:: classref-method
:ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` **get_plugin**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_plugin>`
Restituisce l':ref:`EditorNode3DGizmoPlugin<class_EditorNode3DGizmoPlugin>` che possiede questo gizmo. È utile recuperare materiali tramite :ref:`EditorNode3DGizmoPlugin.get_material()<class_EditorNode3DGizmoPlugin_method_get_material>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_get_subgizmo_selection:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **get_subgizmo_selection**\ (\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_get_subgizmo_selection>`
Restituisce una lista dei gizmo secondari attualmente selezionati. Può essere utilizzato per evidenziare gli elementi selezionati durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_is_subgizmo_selected:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_subgizmo_selected**\ (\ id\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_EditorNode3DGizmo_method_is_subgizmo_selected>`
Restituisce ``true`` se il gizmo secondario specificato è attualmente selezionato. Può essere utilizzato per evidenziare gli elementi selezionati durante :ref:`_redraw()<class_EditorNode3DGizmo_private_method__redraw>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_set_hidden:
.. rst-class:: classref-method
|void| **set_hidden**\ (\ hidden\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_set_hidden>`
Imposta lo stato nascosto del gizmo. Se ``true``, il gizmo sarà nascosto. Se ``false``, sarà mostrato.
.. rst-class:: classref-item-separator
----
.. _class_EditorNode3DGizmo_method_set_node_3d:
.. rst-class:: classref-method
|void| **set_node_3d**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_EditorNode3DGizmo_method_set_node_3d>`
Imposta il nodo :ref:`Node3D<class_Node3D>` di riferimento per il gizmo. ``node`` deve ereditare da :ref:`Node3D<class_Node3D>`.
.. |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.)`