Files
godot-docs-l10n/classes/it/class_xrpositionaltracker.rst
2025-09-30 13:31:55 +02:00

333 lines
16 KiB
ReStructuredText

:github_url: hide
.. _class_XRPositionalTracker:
XRPositionalTracker
===================
**Eredita:** :ref:`XRTracker<class_XRTracker>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
**Ereditato da:** :ref:`XRBodyTracker<class_XRBodyTracker>`, :ref:`XRControllerTracker<class_XRControllerTracker>`, :ref:`XRHandTracker<class_XRHandTracker>`
Un oggetto tracciato.
.. rst-class:: classref-introduction-group
Descrizione
----------------------
Un'istanza di questo oggetto rappresenta un dispositivo che viene tracciato, come un controller o un punto di ancoraggio. Gli HMD non sono rappresentati qui poiché sono gestiti internamente.
Quando i controller sono attivati e :ref:`XRInterface<class_XRInterface>` li rileva, le istanze di questo oggetto sono automaticamente aggiunte a questa lista di oggetti di tracciamento attivi, accessibili attraverso il :ref:`XRServer<class_XRServer>`.
\ :ref:`XRNode3D<class_XRNode3D>` e :ref:`XRAnchor3D<class_XRAnchor3D>` utilizzano entrambi oggetti di questo tipo e dovrebbero essere usati nel tuo progetto. I tracciatori posizionali sono solo oggetti nascosti che fanno funzionare tutto questo. Sono per lo più esposti in modo che le interfacce basate su GDExtension possano interagire con loro.
.. rst-class:: classref-introduction-group
Tutorial
----------------
- :doc:`Indice della documentazione XR <../tutorials/xr/index>`
.. rst-class:: classref-reftable-group
Proprietà
------------------
.. table::
:widths: auto
+----------------------------------------------------------+------------------------------------------------------------+--------+
| :ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` | :ref:`hand<class_XRPositionalTracker_property_hand>` | ``0`` |
+----------------------------------------------------------+------------------------------------------------------------+--------+
| :ref:`String<class_String>` | :ref:`profile<class_XRPositionalTracker_property_profile>` | ``""`` |
+----------------------------------------------------------+------------------------------------------------------------+--------+
.. rst-class:: classref-reftable-group
Metodi
------------
.. table::
:widths: auto
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_input<class_XRPositionalTracker_method_get_input>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`XRPose<class_XRPose>` | :ref:`get_pose<class_XRPositionalTracker_method_get_pose>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_pose<class_XRPositionalTracker_method_has_pose>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`invalidate_pose<class_XRPositionalTracker_method_invalidate_pose>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_input<class_XRPositionalTracker_method_set_input>`\ (\ name\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_pose<class_XRPositionalTracker_method_set_pose>`\ (\ name\: :ref:`StringName<class_StringName>`, transform\: :ref:`Transform3D<class_Transform3D>`, linear_velocity\: :ref:`Vector3<class_Vector3>`, angular_velocity\: :ref:`Vector3<class_Vector3>`, tracking_confidence\: :ref:`TrackingConfidence<enum_XRPose_TrackingConfidence>`\ ) |
+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Segnali
--------------
.. _class_XRPositionalTracker_signal_button_pressed:
.. rst-class:: classref-signal
**button_pressed**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_button_pressed>`
Emesso quando viene premuto un pulsante su questo tracciatore. Nota che molti runtime XR consentono di mappare altri input sui pulsanti.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_button_released:
.. rst-class:: classref-signal
**button_released**\ (\ name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_button_released>`
Emesso quando viene rilasciato un pulsante su questo tracciatore.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_input_float_changed:
.. rst-class:: classref-signal
**input_float_changed**\ (\ name\: :ref:`String<class_String>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_input_float_changed>`
Emesso quando un grilletto o un input simile su questo tracciatore cambia valore.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_input_vector2_changed:
.. rst-class:: classref-signal
**input_vector2_changed**\ (\ name\: :ref:`String<class_String>`, vector\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_input_vector2_changed>`
Emesso quando una levetta o un thumbpad di questo tracciatore si muove.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_pose_changed:
.. rst-class:: classref-signal
**pose_changed**\ (\ pose\: :ref:`XRPose<class_XRPose>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_pose_changed>`
Emesso quando cambia lo stato di una posa tracciata da questo tracker.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_pose_lost_tracking:
.. rst-class:: classref-signal
**pose_lost_tracking**\ (\ pose\: :ref:`XRPose<class_XRPose>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_pose_lost_tracking>`
Emesso quando una posa tracciata da questo tracciatore smette di ricevere dati di tracciamento aggiornati.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_signal_profile_changed:
.. rst-class:: classref-signal
**profile_changed**\ (\ role\: :ref:`String<class_String>`\ ) :ref:`🔗<class_XRPositionalTracker_signal_profile_changed>`
Emesso quando cambia il profilo del nostro tracciatore.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumerazioni
------------------------
.. _enum_XRPositionalTracker_TrackerHand:
.. rst-class:: classref-enumeration
enum **TrackerHand**: :ref:`🔗<enum_XRPositionalTracker_TrackerHand>`
.. _class_XRPositionalTracker_constant_TRACKER_HAND_UNKNOWN:
.. rst-class:: classref-enumeration-constant
:ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **TRACKER_HAND_UNKNOWN** = ``0``
La mano in cui è tenuto questo tracciatore è sconosciuta o non valida.
.. _class_XRPositionalTracker_constant_TRACKER_HAND_LEFT:
.. rst-class:: classref-enumeration-constant
:ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **TRACKER_HAND_LEFT** = ``1``
Questo tracciatore è il controller della mano sinistra.
.. _class_XRPositionalTracker_constant_TRACKER_HAND_RIGHT:
.. rst-class:: classref-enumeration-constant
:ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **TRACKER_HAND_RIGHT** = ``2``
Questo tracciatore è il controller della mano destra.
.. _class_XRPositionalTracker_constant_TRACKER_HAND_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **TRACKER_HAND_MAX** = ``3``
Rappresenta la dimensione dell'enumerazione :ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>`.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descrizioni delle proprietà
------------------------------------------------------
.. _class_XRPositionalTracker_property_hand:
.. rst-class:: classref-property
:ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **hand** = ``0`` :ref:`🔗<class_XRPositionalTracker_property_hand>`
.. rst-class:: classref-property-setget
- |void| **set_tracker_hand**\ (\ value\: :ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>`\ )
- :ref:`TrackerHand<enum_XRPositionalTracker_TrackerHand>` **get_tracker_hand**\ (\ )
Definisce a quale mano si riferisce questo tracciatore.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_property_profile:
.. rst-class:: classref-property
:ref:`String<class_String>` **profile** = ``""`` :ref:`🔗<class_XRPositionalTracker_property_profile>`
.. rst-class:: classref-property-setget
- |void| **set_tracker_profile**\ (\ value\: :ref:`String<class_String>`\ )
- :ref:`String<class_String>` **get_tracker_profile**\ (\ )
Il profilo associato a questo tracciatore. Dipende dall'interfaccia, ma indicherà il tipo di controller tracciato.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descrizioni dei metodi
--------------------------------------------
.. _class_XRPositionalTracker_method_get_input:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **get_input**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_XRPositionalTracker_method_get_input>`
**Deprecato:** Use through :ref:`XRControllerTracker<class_XRControllerTracker>`.
Restituisce un input per questo tracciatore. Può restituire un valore booleano, float o :ref:`Vector2<class_Vector2>` a seconda che l'input sia un pulsante, un grilletto o una levetta/thumbpad.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_method_get_pose:
.. rst-class:: classref-method
:ref:`XRPose<class_XRPose>` **get_pose**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_XRPositionalTracker_method_get_pose>`
Restituisce l'oggetto di stato :ref:`XRPose<class_XRPose>` attuale per la posa associata con nome ``name``.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_method_has_pose:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **has_pose**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_XRPositionalTracker_method_has_pose>`
Restituisce ``true`` se il tracciatore è disponibile e sta tracciando attualmente la posa con il nome ``name``.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_method_invalidate_pose:
.. rst-class:: classref-method
|void| **invalidate_pose**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_XRPositionalTracker_method_invalidate_pose>`
Contrassegna questa posizione come non valida, non cancelliamo l'ultimo stato riportato ma consentiamo agli utenti di decidere se i tracciatori devono essere nascosti se perdiamo il tracciamento o se devono semplicemente rimanere nella loro ultima posizione nota.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_method_set_input:
.. rst-class:: classref-method
|void| **set_input**\ (\ name\: :ref:`StringName<class_StringName>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_XRPositionalTracker_method_set_input>`
**Deprecato:** Use through :ref:`XRControllerTracker<class_XRControllerTracker>`.
Cambia il valore per l'input specificato. Questo metodo è chiamato da un'implementazione di :ref:`XRInterface<class_XRInterface>` e non si dovrebbe usare direttamente.
.. rst-class:: classref-item-separator
----
.. _class_XRPositionalTracker_method_set_pose:
.. rst-class:: classref-method
|void| **set_pose**\ (\ name\: :ref:`StringName<class_StringName>`, transform\: :ref:`Transform3D<class_Transform3D>`, linear_velocity\: :ref:`Vector3<class_Vector3>`, angular_velocity\: :ref:`Vector3<class_Vector3>`, tracking_confidence\: :ref:`TrackingConfidence<enum_XRPose_TrackingConfidence>`\ ) :ref:`🔗<class_XRPositionalTracker_method_set_pose>`
Imposta la trasformazione, velocità lineare, velocità angolare e l'affidabilità di tracciamento per la posa fornita. Questo metodo è chiamato da un'implementazione di :ref:`XRInterface<class_XRInterface>` e non si dovrebbe usare direttamente.
.. |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.)`