XRNode3D
派生: XRAnchor3D, XRController3D
空间节点,位置由 XRServer 自动更新。
描述
这个节点可以绑定到 XRPositionalTracker 的某个姿势,XRServer 会自动更新其 Node3D.transform。这类节点必须添加为 XROrigin3D 节点的子节点。
教程
属性
| ||
| ||
|
方法
get_has_tracking_data() const | |
get_is_active() const | |
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"
🔗
void set_pose_name(value: StringName)
StringName get_pose_name()
我们绑定到的姿势的名称。设计时并不知道跟踪器支持哪些姿势。
Godot 定义了许多标准姿势名称,例如 aim
和 grip
,但也可以在给定的 XRInterface 中配置其他名称。
bool show_when_tracked = false
🔗
启用在跟踪开始时显示节点,并在跟踪丢失时隐藏节点。
StringName tracker = &""
🔗
void set_tracker(value: StringName)
StringName get_tracker()
我们绑定到的追踪器的名称。设计时并不知道有哪些跟踪器可用。
Godot 定义了许多标准跟踪器,例如 left_hand
和 right_hand
,但也可以在给定的 XRInterface 中配置其他跟踪器。
方法说明
bool get_has_tracking_data() const 🔗
如果 tracker 中有被跟踪 pose 的当前跟踪数据,则返回 true
。
如果 tracker 已注册,并且 pose 正在被追踪,则返回 true
。
返回包含被跟踪姿势的当前状态的 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.