XR_ANDROID_mouse_interaction Расширение OpenXR

Имя Строка

XR_ANDROID_mouse_interaction

Тип расширения

Расширение экземпляра

Зарегистрированный добавочный номер

705

Пересмотр

1

Зависимости расширений и версий

OpenXR 1.0

Дата последнего изменения

2024-09-06

Статус ИС

Нет известных претензий на права интеллектуальной собственности.

Участники

Шараю Шеной, Google

Кьяра Кутзее, Google

Левана Чен, Google

Спенсер Куин, Google

Обзор

Это расширение предоставляет XrPath для получения ввода с мыши и определяет одну часто используемую позу действия для пользовательских профилей мыши, включая как устройства мыши, так и устройства трекпада.

Это расширение также представляет новый профиль взаимодействия, специально разработанный для устройств мыши для ввода данных через систему действий OpenXR .

Поза действия для взаимодействия с мышью

Следующая поза действия (т. е. «прицеливание») включает трехмерный луч указателя, независимо от того, осуществляется ли отслеживание с помощью мыши или трекпада.

Подпуть действия …/input/aim/pose будет поддерживаться во всех профилях взаимодействия , которые действительны для пользовательского пути /user/mouse , включая профили взаимодействия, включенные через расширения.

Цель позы

…/input/aim/pose предназначен для взаимодействия с объектами посредством указателя мыши в трехмерном пространстве. Например, использование виртуальной лазерной указки для прицеливания в виртуальную кнопку на стене — это взаимодействие, подходящее для позы «прицеливания».

Это та же самая поза "прицеливания", которая определена в стандартных идентификаторах позы . Каждый профиль отслеживаемого контроллера уже поддерживает эту позу.

Пример позы цели

Позиция

Позицией позы "прицеливания" обычно является голова пользователя, то есть то же самое положение головы при обнаружении движения мыши. Поза прицеливания для мыши вычисляется при движении мыши. Последняя известная позиция прицеливания будет сохранена до следующего движения мыши.

Ориентация

Ориентация позы «прицеливания» может использоваться для визуализации 3D-луча указателя для взаимодействия с виртуальным объектом, например, для нажатия кнопки меню на стене.

Поза прицеливания для мыши вычисляется при движении мыши. Последняя известная ориентация прицеливания будет сохранена до следующего движения мыши.

Направление -Z — это прямое направление прицельного жеста, то есть туда, куда указывает прицельный луч.

Относительное перемещение мыши по осям X и Y используется для вычисления относительного перемещения мыши по сфере вокруг головы пользователя.

Пример позы цели

Глубинное перемещение будет поддерживаться с помощью первичного щелчка и прокрутки. Когда выполняется действие по перемещению в глубину, позиция смещается от положения головы в положительном или отрицательном направлении Z вдоль луча в зависимости от положительного или отрицательного значения прокрутки. Система стабилизирует глубинное перемещение в сфере вокруг головы пользователя.

Профиль взаимодействия для устройств типа «мышь»

Профиль взаимодействия с мышью разработан для сред выполнения, которые обеспечивают ввод с помощью мышиных устройств или трекпадов с кнопками и прокруткой. Это позволяет мышиным устройствам и трекпадам предоставлять часто используемые щелчки, прокрутку и позу действия для системы действий OpenXR .

Путь профиля взаимодействия:

  • /interaction_profiles/android/мышиное_взаимодействие

Действительно для пути пользователя верхнего уровня:

  • /пользователь/мышь

Поддерживаемые пути компонентов:

  • …/ввод/цель/поза
  • …/ввод/выбор/щелчок
  • …/ввод/вторичный/щелчок
  • …/ввод/третичный/щелчок
  • …/ввод/прокрутка/значение

Этот профиль взаимодействия поддерживает позу действия, описанную в этом разделе, а также следующие две группы входных действий.

Действие щелчка

Этот профиль взаимодействия поддерживает действия …/input/select/click, …/input/secondary/click и /input/tertiary/click.

…/input/select/click — это логический вход, где значение XR_TRUE указывает, что нажата основная кнопка мыши или трекпада.

…/input/secondary/click — это логический вход, где значение XR_TRUE указывает, что нажата вторичная кнопка мыши или трекпада.

…/input/tertiary/click — это логический вход, где значение XR_TRUE указывает на то, что нажата прокрутка мыши или третичная кнопка.

Прокрутка действия

Этот профиль взаимодействия поддерживает действия …/input/scroll/value .

…/input/scroll/value — это одномерный компонент ввода, изменяющийся от -1 до 1 для прокрутки вниз и вверх.

Новые типы объектов

Новые типы флагов

Новые константы перечисления

Новые перечисления

Новые структуры

Новые функции

Проблемы

История версий

  • Редакция 1, 29 августа 2024 г. (Левана Чен)
    • Первоначальное описание расширения

OpenXR™ и логотип OpenXR являются товарными знаками компании Khronos Group Inc. и зарегистрированы в качестве товарного знака в Китае, Европейском Союзе, Японии и Великобритании.