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.
Checking the stable version of the documentation...
XRPositionalTracker
继承: XRTracker < RefCounted < Object
派生: XRBodyTracker, XRControllerTracker, XRHandTracker
追踪对象。
描述
此对象的一个实例,表示一个被追踪的设备,例如一个控制器或锚点。HMD 没有在此处表示,因为它们是在内部处理的。
当控制器被打开,并且 XRInterface 检测到它们时,该对象的实例会自动被添加到可通过 XRServer 访问的活动追踪对象列表中。
XRNode3D 和 XRAnchor3D 都使用这种类型的对象,并且应该在你的项目中使用。位置追踪器只是使这一切正常工作的底层对象。这些大部分都是公开的,以便基于 GDExtension 的接口,可以与它们交互。
教程
属性
|
||
|
方法
get_input(name: StringName) const |
|
get_pose(name: StringName) const |
|
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_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
🔗
void set_tracker_hand(value: TrackerHand)
TrackerHand get_tracker_hand()
定义此追踪器与哪只手相关。
与此追踪器关联的配置,取决于接口,但将指示被追踪的控制器类型。
方法说明
Variant get_input(name: StringName) const 🔗
已弃用: Use through 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) 🔗
已弃用: Use through XRControllerTracker.
更改给定输入的值。此方法由一个 XRInterface 实现调用,不应直接使用。
void set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) 🔗
设置给定姿势的变换、线速度、角速度和追踪置信度。此方法由一个 XRInterface 实现调用,不应直接使用。