mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-05 22:09:56 +03:00
186 lines
8.8 KiB
ReStructuredText
186 lines
8.8 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the XRPose.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _class_XRPose:
|
|
|
|
XRPose
|
|
======
|
|
|
|
**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
|
|
|
This object contains all data related to a pose on a tracked object.
|
|
|
|
Description
|
|
-----------
|
|
|
|
XR runtimes often identify multiple locations on devices such as controllers that are spatially tracked.
|
|
|
|
Orientation, location, linear velocity and angular velocity are all provided for each pose by the XR runtime. This object contains this state of a pose.
|
|
|
|
Properties
|
|
----------
|
|
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`angular_velocity<class_XRPose_property_angular_velocity>` | ``Vector3(0, 0, 0)`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`has_tracking_data<class_XRPose_property_has_tracking_data>` | ``false`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`linear_velocity<class_XRPose_property_linear_velocity>` | ``Vector3(0, 0, 0)`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`StringName<class_StringName>` | :ref:`name<class_XRPose_property_name>` | ``&""`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`TrackingConfidence<enum_XRPose_TrackingConfidence>` | :ref:`tracking_confidence<class_XRPose_property_tracking_confidence>` | ``0`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Transform3D<class_Transform3D>` | :ref:`transform<class_XRPose_property_transform>` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
|
|
+-----------------------------------------------------------+-----------------------------------------------------------------------+-----------------------------------------------------+
|
|
|
|
Methods
|
|
-------
|
|
|
|
+---------------------------------------+-----------------------------------------------------------------------------------------------+
|
|
| :ref:`Transform3D<class_Transform3D>` | :ref:`get_adjusted_transform<class_XRPose_method_get_adjusted_transform>` **(** **)** |const| |
|
|
+---------------------------------------+-----------------------------------------------------------------------------------------------+
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _enum_XRPose_TrackingConfidence:
|
|
|
|
.. _class_XRPose_constant_XR_TRACKING_CONFIDENCE_NONE:
|
|
|
|
.. _class_XRPose_constant_XR_TRACKING_CONFIDENCE_LOW:
|
|
|
|
.. _class_XRPose_constant_XR_TRACKING_CONFIDENCE_HIGH:
|
|
|
|
enum **TrackingConfidence**:
|
|
|
|
- **XR_TRACKING_CONFIDENCE_NONE** = **0** --- No tracking information is available for this pose.
|
|
|
|
- **XR_TRACKING_CONFIDENCE_LOW** = **1** --- Tracking information may be inaccurate or estimated. For instance with inside out tracking this would indicate a controller may be (partially) obscured.
|
|
|
|
- **XR_TRACKING_CONFIDENCE_HIGH** = **2** --- Tracking information is deemed accurate and up to date.
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_XRPose_property_angular_velocity:
|
|
|
|
- :ref:`Vector3<class_Vector3>` **angular_velocity**
|
|
|
|
+-----------+-----------------------------+
|
|
| *Default* | ``Vector3(0, 0, 0)`` |
|
|
+-----------+-----------------------------+
|
|
| *Setter* | set_angular_velocity(value) |
|
|
+-----------+-----------------------------+
|
|
| *Getter* | get_angular_velocity() |
|
|
+-----------+-----------------------------+
|
|
|
|
The angular velocity for this pose.
|
|
|
|
----
|
|
|
|
.. _class_XRPose_property_has_tracking_data:
|
|
|
|
- :ref:`bool<class_bool>` **has_tracking_data**
|
|
|
|
+-----------+------------------------------+
|
|
| *Default* | ``false`` |
|
|
+-----------+------------------------------+
|
|
| *Setter* | set_has_tracking_data(value) |
|
|
+-----------+------------------------------+
|
|
| *Getter* | get_has_tracking_data() |
|
|
+-----------+------------------------------+
|
|
|
|
If ``true`` our tracking data is up to date. If ``false`` we're no longer receiving new tracking data and our state is whatever that last valid state was.
|
|
|
|
----
|
|
|
|
.. _class_XRPose_property_linear_velocity:
|
|
|
|
- :ref:`Vector3<class_Vector3>` **linear_velocity**
|
|
|
|
+-----------+----------------------------+
|
|
| *Default* | ``Vector3(0, 0, 0)`` |
|
|
+-----------+----------------------------+
|
|
| *Setter* | set_linear_velocity(value) |
|
|
+-----------+----------------------------+
|
|
| *Getter* | get_linear_velocity() |
|
|
+-----------+----------------------------+
|
|
|
|
The linear velocity of this pose.
|
|
|
|
----
|
|
|
|
.. _class_XRPose_property_name:
|
|
|
|
- :ref:`StringName<class_StringName>` **name**
|
|
|
|
+-----------+-----------------+
|
|
| *Default* | ``&""`` |
|
|
+-----------+-----------------+
|
|
| *Setter* | set_name(value) |
|
|
+-----------+-----------------+
|
|
| *Getter* | get_name() |
|
|
+-----------+-----------------+
|
|
|
|
The name of this pose. Pose names are often driven by an action map setup by the user. Godot does suggest a number of pose names that it expects :ref:`XRInterface<class_XRInterface>`\ s to implement:
|
|
|
|
- ``root`` defines a root location, often used for tracked objects that do not have further nodes.
|
|
|
|
- ``aim`` defines the tip of a controller with the orientation pointing outwards, for instance: add your raycasts to this.
|
|
|
|
- ``grip`` defines the location where the user grips the controller
|
|
|
|
- ``skeleton`` defines the root location a hand mesh should be placed when using hand tracking and the animated skeleton supplied by the XR runtime.
|
|
|
|
----
|
|
|
|
.. _class_XRPose_property_tracking_confidence:
|
|
|
|
- :ref:`TrackingConfidence<enum_XRPose_TrackingConfidence>` **tracking_confidence**
|
|
|
|
+-----------+--------------------------------+
|
|
| *Default* | ``0`` |
|
|
+-----------+--------------------------------+
|
|
| *Setter* | set_tracking_confidence(value) |
|
|
+-----------+--------------------------------+
|
|
| *Getter* | get_tracking_confidence() |
|
|
+-----------+--------------------------------+
|
|
|
|
The tracking confidence for this pose, provides insight on how accurate the spatial positioning of this record is.
|
|
|
|
----
|
|
|
|
.. _class_XRPose_property_transform:
|
|
|
|
- :ref:`Transform3D<class_Transform3D>` **transform**
|
|
|
|
+-----------+-----------------------------------------------------+
|
|
| *Default* | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
|
|
+-----------+-----------------------------------------------------+
|
|
| *Setter* | set_transform(value) |
|
|
+-----------+-----------------------------------------------------+
|
|
| *Getter* | get_transform() |
|
|
+-----------+-----------------------------------------------------+
|
|
|
|
The transform containing the original and transform as reported by the XR runtime.
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_XRPose_method_get_adjusted_transform:
|
|
|
|
- :ref:`Transform3D<class_Transform3D>` **get_adjusted_transform** **(** **)** |const|
|
|
|
|
Returns the :ref:`transform<class_XRPose_property_transform>` with world scale and our reference frame applied. This is the transform used to position :ref:`XRNode3D<class_XRNode3D>` objects.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
|
|
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
|
|
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
|
|
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|
|
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|