XRNode3D
派生: XRAnchor3D, XRController3D
位置由 XRServer 自动更新的 3D 节点。
描述
这个节点可以绑定到 XRPositionalTracker 的某个姿势,XRServer 会自动更新其 Node3D.transform。这类节点必须添加为 XROrigin3D 节点的子节点。
教程
属性
physics_interpolation_mode |
|
|
|
||
|
||
|
方法
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) 🔗
在与该接口关联的设备上触发触觉脉冲。
action_name 是该脉冲的操作名称。
frequency 是该脉冲的频率,设置为 0.0 可让系统使用默认频率。
amplitude 是介于 0.0 和 1.0 之间的脉冲幅度。
duration_sec 是脉冲的持续时间(单位为秒)。
delay_sec 是发出脉冲之前的延迟(单位为秒)。