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

继承: Node3D < Node < Object

派生: XRAnchor3D, XRController3D

空间节点,位置由 XRServer 自动更新。

描述

这个节点可以绑定到 XRPositionalTracker 的某个姿势,XRServer 会自动更新其 Node3D.transform。这类节点必须添加为 XROrigin3D 节点的子节点。

教程

属性

StringName

pose

&"default"

bool

show_when_tracked

false

StringName

tracker

&""

方法

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)


信号

tracking_changed(tracking: bool) 🔗

tracker 开始或停止接收正被跟踪的 pose 的更新跟踪数据时发出。tracking 参数指示跟踪器是否正在获取更新的跟踪数据。


属性说明

StringName pose = &"default" 🔗

我们绑定到的姿势的名称。设计时并不知道跟踪器支持哪些姿势。

Godot 定义了许多标准姿势名称,例如 aimgrip,但也可以在给定的 XRInterface 中配置其他名称。


bool show_when_tracked = false 🔗

  • void set_show_when_tracked(value: bool)

  • bool get_show_when_tracked()

启用在跟踪开始时显示节点,并在跟踪丢失时隐藏节点。


StringName tracker = &"" 🔗

我们绑定到的追踪器的名称。设计时并不知道有哪些跟踪器可用。

Godot 定义了许多标准跟踪器,例如 left_handright_hand,但也可以在给定的 XRInterface 中配置其他跟踪器。


方法说明

bool get_has_tracking_data() const 🔗

如果 tracker 中有被跟踪 pose 的当前跟踪数据,则返回 true


bool get_is_active() const 🔗

如果 tracker 已注册,并且 pose 正在被追踪,则返回 true


XRPose get_pose() 🔗

返回包含被跟踪姿势的当前状态的 XRPose。这可以访问此姿势的其他属性。


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.

frequency is the frequency of the pulse, set to 0.0 to have the system use a default frequency.

amplitude is the amplitude of the pulse between 0.0 and 1.0.

duration_sec is the duration of the pulse in seconds.

delay_sec is a delay in seconds before the pulse is given.