Up to date

This page is up to date for Godot 4.0. If you still find outdated information, please open an issue.

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.

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 ( String action_name, float frequency, float amplitude, float duration_sec, float delay_sec )


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 ( String action_name, float frequency, float amplitude, float duration_sec, float delay_sec )

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

action_name is the name of the action for this pulse.