XRPositionalTracker
继承: RefCounted < Object
追踪对象。
描述
此对象的一个实例,表示一个被追踪的设备,例如一个控制器或锚点。HMD 没有在此处表示,因为它们是在内部处理的。
当控制器被打开,并且 XRInterface 检测到它们时,此对象的实例会自动被添加到可通过 XRServer 访问的活动追踪对象列表中。
XRController3D 和 XRAnchor3D 都使用这种类型的对象,并且应该在你的项目中使用。位置追踪器只是使这一切正常工作的底层对象。这些大部分都是公开的,以便基于 GDExtension 的接口,可以与它们交互。
教程
属性
| ||
| ||
| ||
| ||
|
方法
get_input ( StringName name ) const | |
get_pose ( StringName name ) const | |
has_pose ( StringName name ) const | |
void | invalidate_pose ( StringName name ) |
void | set_input ( StringName name, Variant value ) |
void | set_pose ( StringName name, Transform3D transform, Vector3 linear_velocity, Vector3 angular_velocity, TrackingConfidence tracking_confidence ) |
信号
button_pressed ( String name )
当该追踪器上的一个按钮被按下时发出。请注意,许多 XR 运行时允许将其他输入映射到按钮。
button_released ( String name )
当该追踪器上的一个按钮被释放时发出。
input_float_changed ( String name, float value )
当此追踪器上的一个触发器或类似输入更改值时发出。
input_vector2_changed ( String name, Vector2 vector )
当该追踪器上的一个拇指杆或拇指板移动时发出。
pose_changed ( XRPose pose )
当被此追踪器追踪的一个姿势状态发生变化时发出。
pose_lost_tracking ( XRPose pose )
当被该追踪器追踪的一个姿势停止获取更新的跟踪数据时发出。
profile_changed ( String role )
当我们的追踪器的配置发生变化时发出。
枚举
enum TrackerHand:
TrackerHand TRACKER_HAND_UNKNOWN = 0
手持该追踪器的手是未知的或不适用的。
TrackerHand TRACKER_HAND_LEFT = 1
此跟踪器是左手控制器。
TrackerHand TRACKER_HAND_RIGHT = 2
此跟踪器是右手控制器。
属性说明
String description = ""
此追踪器的描述。
TrackerHand hand = 0
void set_tracker_hand ( TrackerHand value )
TrackerHand get_tracker_hand ( )
定义此追踪器与哪只手相关。
StringName name = &"Unknown"
void set_tracker_name ( StringName value )
StringName get_tracker_name ( )
此追踪器的唯一名称。可用的追踪器因各种 XR 运行时而异,并且通常可以由用户配置。Godot 维护了一些保留名称,如果可应用,它希望 XRInterface 来实现:
left_hand
标识玩家左手握持的控制器right_hand
标识玩家右手握持的控制器
String profile = ""
与此追踪器关联的配置,取决于界面,但将指示被追踪的控制器类型。
TrackerType type = 128
void set_tracker_type ( TrackerType value )
TrackerType get_tracker_type ( )
该追踪器的类型。
方法说明
Variant get_input ( StringName name ) const
返回此追踪器的输入。它可以返回一个布尔值、浮点数或 Vector2 值,具体取决于输入是一个按钮、触发器还是拇指杆/拇指板。
XRPose get_pose ( StringName name ) const
返回绑定 name
姿势的当前 XRPose 状态对象。
bool has_pose ( StringName name ) const
如果追踪器可用,并且当前正在追踪绑定的 name
姿势,则返回 true
。
void invalidate_pose ( StringName name )
将此姿势标记为无效,我们不会清除最后报告的状态,但如果我们失去追踪,它允许用户决定是否需要隐藏追踪器,或仅保留在其最后一个已知位置。
void set_input ( StringName name, Variant value )
更改给定输入的值。此方法由一个 XRInterface 实现调用,不应直接使用。
void set_pose ( StringName name, Transform3D transform, Vector3 linear_velocity, Vector3 angular_velocity, TrackingConfidence tracking_confidence )
设置给定姿势的变换、线速度、角速度和追踪置信度。此方法由一个 XRInterface 实现调用,不应直接使用。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.