Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

XRNode3D

Inherits: Node3D < Node < Object

Inherited By: XRAnchor3D, XRController3D

A spatial node that has its position automatically updated by the XRServer.

Description

This node can be bound to a specific pose of a XRPositionalTracker and will automatically have its Node3D.transform updated by the XRServer. Nodes of this type must be added as children of the XROrigin3D node.

Tutorials

Properties

StringName

pose

&"default"

StringName

tracker

&""

Methods

bool

get_has_tracking_data() const

bool

get_is_active() const

XRPose

get_pose()

void

trigger_haptic_pulse(action_name: String, frequency: float, amplitude: float, duration_sec: float, delay_sec: float)


Signals

tracking_changed(tracking: bool)

Emitted when the tracker starts or stops receiving updated tracking data for the pose being tracked. The tracking argument indicates whether the tracker is getting updated tracking data.


Property Descriptions

StringName pose = &"default"

The name of the pose we're bound to. Which poses a tracker supports is not known during design time.

Godot defines number of standard pose names such as aim and grip but other may be configured within a given XRInterface.


StringName tracker = &""

The name of the tracker we're bound to. Which trackers are available is not known during design time.

Godot defines a number of standard trackers such as left_hand and right_hand but others may be configured within a given XRInterface.


Method Descriptions

bool get_has_tracking_data() const

Returns true if the tracker has current tracking data for the pose being tracked.


bool get_is_active() const

Returns true if the tracker has been registered and the pose is being tracked.


XRPose get_pose()

Returns the XRPose containing the current state of the pose being tracked. This gives access to additional properties of this pose.


void trigger_haptic_pulse(action_name: String, frequency: float, amplitude: float, duration_sec: float, delay_sec: float)

Triggers a haptic pulse on a device associated with this interface.

action_name is the name of the action for this pulse.


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.