Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

XRPose

继承: RefCounted < Object

这个对象包含了跟踪对象姿势相关的所有数据。

描述

XR 运行时通常可以识别设备上的多个位置,例如空间跟踪的控制器。

XR 运行时会为每个姿势都提供朝向、位置、线速度和角速度。这个对象包含某个姿势的状态。

教程

属性

Vector3

angular_velocity

Vector3(0, 0, 0)

bool

has_tracking_data

false

Vector3

linear_velocity

Vector3(0, 0, 0)

StringName

name

&""

TrackingConfidence

tracking_confidence

0

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

方法

Transform3D

get_adjusted_transform ( ) const


枚举

enum TrackingConfidence:

TrackingConfidence XR_TRACKING_CONFIDENCE_NONE = 0

此姿势没有可用的追踪信息。

TrackingConfidence XR_TRACKING_CONFIDENCE_LOW = 1

追踪信息可能不准确或是估计而来的。例如,对于内向外型追踪,这表示的是控制器可能被(部分)遮挡。

TrackingConfidence XR_TRACKING_CONFIDENCE_HIGH = 2

追踪信息被认为是准确且最新的。


属性说明

Vector3 angular_velocity = Vector3(0, 0, 0)

  • void set_angular_velocity ( Vector3 value )

  • Vector3 get_angular_velocity ( )

该姿势的角速度。


bool has_tracking_data = false

  • void set_has_tracking_data ( bool value )

  • bool get_has_tracking_data ( )

如果为 true,则我们的追踪数据是最新的。如果为 false,我们将不再接收新的追踪数据,并且我们的状态是最后一个有效状态。


Vector3 linear_velocity = Vector3(0, 0, 0)

  • void set_linear_velocity ( Vector3 value )

  • Vector3 get_linear_velocity ( )

该姿势的线速度。


StringName name = &""

这个姿势的名称。姿势名称通常由用户设置的动作映射来驱动。Godot 确实给出了一些姿势名称的建议,希望 XRInterface 能够实现:

-root 定义根的位置,通常用于没有其他节点的被追踪物体。

-aim 定义控制器的顶端,方向朝外,例如:可以将你要投射的射线加到这里。

-grip 定义用户持握控制器的位置。

-skeleton 定义在使用手部跟踪和 XR 运行时提供的动画骨架时,手部网格应该放置的根部位置。


TrackingConfidence tracking_confidence = 0

此姿势的追踪置信度,提供了有关此记录的空间定位准确度的洞察力。


Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

该变换包含由 XR 运行时报告的原点和变换。


方法说明

Transform3D get_adjusted_transform ( ) const

返回受到世界缩放和我们参考系影响的 transform。这是用于放置 XRNode3D 对象的变换。