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
Наследуется от: OpenXRSpatialEntityTracker, 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(action_name: String) 🔗
Вызывается при нажатии кнопки на этом трекере. Обратите внимание, что многие среды выполнения XR позволяют сопоставлять другие входы с кнопками.
button_released(action_name: String) 🔗
Издается, когда кнопка на этом трекере отпускается.
input_float_changed(action_name: String, value: float) 🔗
Выдается, когда триггер или аналогичный вход на этом трекере изменяет значение.
input_vector2_changed(action_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 🔗
Возвращает текущий объект состояния XRPose для привязанной позы name.
bool has_pose(name: StringName) const 🔗
Возвращает true, если трекер доступен и в данный момент отслеживает привязанную позу name.
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 и не должен использоваться напрямую.