XRNode3D

Наследует: Node3D < Node < Object

Наследуется от: XRAnchor3D, XRController3D

3D-узел, положение которого автоматически обновляется XRServer.

Описание

Этот узел можно привязать к определённой позе XRPositionalTracker, и его Node3D.transform будет автоматически обновляться XRServer. Узлы этого типа должны быть добавлены как дочерние элементы узла XROrigin3D.

Обучающие материалы

Свойства

PhysicsInterpolationMode

physics_interpolation_mode

2 (overrides Node)

StringName

pose

&"default"

bool

show_when_tracked

false

StringName

tracker

&""

Методы

bool

get_has_tracking_data() const

bool

get_is_active() const

XRPose

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" 🔗

Имя позы, к которой мы привязаны. Какие позы поддерживает трекер, неизвестно во время проектирования.

Godot определяет ряд стандартных имен поз, таких как aim и grip, но другие могут быть настроены в заданном XRInterface.


bool show_when_tracked = false 🔗

  • void set_show_when_tracked(value: bool)

  • bool get_show_when_tracked()

Позволяет отображать узел при начале отслеживания и скрывать узел при потере отслеживания.


StringName tracker = &"" 🔗

Имя трекера, к которому мы привязаны. Какие трекеры доступны, неизвестно во время проектирования.

Godot определяет ряд стандартных трекеров, таких как left_hand и right_hand, но другие могут быть настроены в заданном XRInterface.


Описания метода

bool get_has_tracking_data() const 🔗

Возвращает true, если tracker имеет текущие данные отслеживания для отслеживаемой pose.


bool get_is_active() const 🔗

Возвращает true, если tracker зарегистрирован и pose отслеживается.


XRPose get_pose() 🔗

Возвращает 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 — задержка в секундах перед подачей импульса.