XRPositionalTracker

继承: XRTracker < RefCounted < Object

派生: XRBodyTracker, XRControllerTracker, XRHandTracker

被跟踪的对象。

描述

此对象的实例表示被跟踪的设备,例如控制器或锚点。这里不表示HMD,因为它们是内部处理的。

当控制器打开并且XRInterface检测到它们时,此对象的实例会自动添加到可通过XRServer访问的活动跟踪对象列表中。

XRNodeXRAnchor都使用这种类型的对象,应该在您的项目中使用。位置跟踪器只是使这一切正常工作的幕后对象。这些大多是公开的,以便基于S3Extension的界面可以与它们交互。

属性

方法

Variant

get_input(name: StringName) const

XRPose

get_pose(name: StringName) const

bool

has_pose(name: StringName) const

void

invalidate_pose(name: StringName)

void

set_input(name: StringName, value: Variant)

void

set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence)


信号

button_pressed(name: String) 🔗

按下此跟踪器上的按钮时发出。请注意,许多XR运行时允许将其他输入映射到按钮。


button_released(name: String) 🔗

释放此跟踪器上的按钮时发出。


input_float_changed(name: String, value: float) 🔗

当此跟踪器上的触发器或类似输入更改值时发出。


input_vector2_changed(name: String, vector: Vector2) 🔗

当这个跟踪器上的操纵杆或拇指板移动时发出。


pose_changed(pose: XRPose) 🔗

当此跟踪器跟踪的姿势状态发生变化时发出。


pose_lost_tracking(pose: XRPose) 🔗

当此跟踪器跟踪的姿势停止获取更新的跟踪数据时发出。


profile_changed(role: String) 🔗

当我们的跟踪器配置文件发生变化时发出。


枚举

enum TrackerHand: 🔗

TrackerHand TRACKER_HAND_UNKNOWN = 0

此跟踪器的握持手未知或不适用。

TrackerHand TRACKER_HAND_LEFT = 1

这个跟踪器是左手控制器。

TrackerHand TRACKER_HAND_RIGHT = 2

这个跟踪器是右手控制器。

TrackerHand TRACKER_HAND_MAX = 3

表示TrackerHand枚举的大小。


属性说明

TrackerHand hand = 0 🔗

定义此跟踪器与哪只手相关。


String profile = "" 🔗

  • void set_tracker_profile(value: String)

  • String get_tracker_profile()

与此跟踪器关联的配置文件,取决于接口,但将指示被跟踪的控制器类型。


方法说明

Variant get_input(name: StringName) const 🔗

已弃用: 请通过 XRControllerTracker 使用。

返回此跟踪器的输入。它可以返回布尔值、浮点数或Vector2值,具体取决于输入是按钮、触发器还是操纵杆/拇指板。


XRPose get_pose(name: StringName) const 🔗

返回绑定name姿势的当前XRPose状态对象。


bool has_pose(name: StringName) const 🔗

如果跟踪器可用并且当前正在跟踪绑定的name姿势,则返回true


void invalidate_pose(name: StringName) 🔗

将此姿势标记为无效,我们不会清除最后报告的状态,但它允许用户决定如果我们丢失跟踪是否需要隐藏跟踪器或只是保持在他们最后已知的位置。


void set_input(name: StringName, value: Variant) 🔗

已弃用: 请通过 XRControllerTracker 使用。

更改给定输入的值。此方法由XRInterface实现调用,不应直接使用。


void set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) 🔗

设置给定姿势的变换、线速度、角速度和跟踪置信度。此方法由XRInterface实现调用,不应直接使用。