XRPose

Inherits: RefCounted < 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

Vector3

angular_velocity

Vector3(0, 0, 0)

bool

has_tracking_data

false

Vector3

linear_velocity

Vector3(0, 0, 0)

StringName

name

&""

TrackingConfidence

tracking_confidence

0

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

Methods

Transform3D

get_adjusted_transform ( ) const

Enumerations

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 example, 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

Default

Vector3(0, 0, 0)

Setter

set_angular_velocity(value)

Getter

get_angular_velocity()

The angular velocity for this pose.


  • 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.


Default

Vector3(0, 0, 0)

Setter

set_linear_velocity(value)

Getter

get_linear_velocity()

The linear velocity of this pose.


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 XRInterfaces 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 example: 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.


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.


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

Returns the transform with world scale and our reference frame applied. This is the transform used to position XRNode3D objects.