Контроллеры движений

Контроллеры движения — это аппаратные аксессуары , позволяющие пользователям выполнять действия в смешанной реальности. Преимущество контроллеров движения перед жестами заключается в том, что контроллеры имеют точное положение в пространстве, что позволяет детализировать взаимодействие с цифровыми объектами. Для Windows Mixed Reality иммерсивных гарнитур контроллеры движения являются основным способом, с помощью которых пользователи будут выполнять действия в своем мире.

Изображение: контроллер движения Windows Mixed Reality

контроллеры движения Windows Mixed Reality



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

Компонент HoloLens (1-го поколения) HoloLens 2 Иммерсивные гарнитуры
Контроллеры движений ✔️

Сведения об оборудовании

Windows Mixed Reality контроллеры движения обеспечивают точное и адаптивное отслеживание движения в поле зрения с помощью датчиков иммерсивной гарнитуры. Нет необходимости устанавливать оборудование на стенах в вашем пространстве. Эти контроллеры движения обеспечивают такую же простоту настройки и переносимости, как и Windows Mixed Reality иммерсивные гарнитуры. Наши партнеры по устройствам планируют продавать эти контроллеры на розничных полках в этот праздник.

Знакомство с контроллером
Знакомство с контроллером

Функции

  • Оптическое отслеживание
  • Триггер
  • Кнопка захвата
  • Отпечаток
  • Touchpad

Установка

Подготовка к работе

Требуется:

  • Набор из двух контроллеров движения.
  • Четыре батареи AA.
  • Компьютер с поддержкой Bluetooth 4.0.

Проверка наличия обновлений Windows, Unity и драйверов

Связывание контроллеров

Контроллеры движения можно связать с главным компьютером с помощью параметров Windows, как и любое другое устройство Bluetooth.

  1. Вставьте два аккумулятора AA в заднюю часть контроллера. Пока оставьте крышку батареи отключенной.
  2. Если вместо встроенного bluetooth-адаптера используется внешний USB-адаптер Bluetooth, ознакомьтесь с рекомендациями по Bluetooth , прежде чем продолжить. Для настройки настольных компьютеров со встроенным радиосвязь убедитесь, что антенна подключена.
  3. Откройте Параметры Windows ->Устройства ->Добавить Bluetooth или другое устройство ->Bluetooth и удалите все более ранние экземпляры "Контроллер движения — справа" и "Контроллер движения — слева". Проверьте также категорию Другие устройства в нижней части списка.
  4. Выберите Добавить Bluetooth или другое устройство и увидите, что оно начинает обнаруживать устройства Bluetooth.
  5. Нажмите и удерживайте кнопку Windows контроллера, чтобы включить геймпад, отпустив его после нажатия.
  6. Нажмите и удерживайте кнопку связывания (вкладку в аккумуляторном отсеке), пока индикаторы не начнут пульсации.
  1. Подождите, что в нижней части списка появится сообщение "Контроллер движения — слева" или "Контроллер движения — справа". Выберите для связывания. Контроллер будет вибрировать один раз при подключении.

    Изображение: выберите "Контроллер движения", чтобы связать; Если экземпляров несколько, выберите один из них в нижней части списка.

Выберите контроллер движения для связывания, если несколько экземпляров выберите один из отображаемых в нижней части списка.

  1. Контроллер появится в параметрах Bluetooth в категории "Мышь, клавиатура, & перо" как Подключено. На этом этапе вы можете получить обновление встроенного ПО — см. следующий раздел.
  2. Повторное присоединение крышки батареи.
  3. Повторите шаги 1–9 для второго контроллера.

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

Изображение: подключенные контроллеры движения

Подключенные контроллеры движения

Если контроллеры отключены после связывания, их состояние будет отображаться как Сопряжено. Для контроллеров, которые постоянно имеют категорию "Другие устройства", связывание может быть завершено только частично. В этом случае выполните шаги связывания еще раз, чтобы обеспечить работу контроллера.

Обновление встроенного ПО контроллера

  • Если к компьютеру подключена иммерсивная гарнитура с новым встроенным ПО контроллера, встроенное ПО будет автоматически отправлено на контроллеры движений при следующем включении. Обновления встроенного ПО контроллера обозначаются схемой освещения квадрантов светодиодных индикаторов круговым движением и занимают 1–2 минуты.
  • После завершения обновления встроенного ПО контроллеры перезагрузятся и повторно подключатся. Оба контроллера должны быть подключены.

    Изображение: контроллеры, подключенные в параметрах Bluetooth

Подключенные контроллеры

  • Убедитесь, что контроллеры работают правильно:
    1. Запустите портал Смешанная реальность и введите Смешанная реальность Домашняя страница.
    2. Перемещение контроллеров и проверка отслеживания, проверки кнопок тестирования и проверки работы телепортации . В противном случае проверка устранение неполадок контроллера движения.

Взгляд и указатель

Windows Mixed Reality поддерживает две ключевые модели взаимодействия; взгляд и фиксация, а также указатель и фиксация:

  • С помощью взгляда и фиксации пользователи нацеливается на объект своим взглядом, а затем выбирает объекты с помощью касаний воздуха вручную, геймпада, кликера или голоса.
  • С помощью point и commit пользователь может нацелить контроллер движения с поддержкой указателя на целевой объект, а затем выбрать объекты с помощью триггера контроллера.

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

Управление отдачей при наводе

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

Чтобы управлять любой такой отдачей, которая может произойти, когда пользователи тянут триггер, приложение может привязать его целевой луч, когда значение аналоговой оси триггера поднимается выше 0,0. Затем вы можете выполнить действия с помощью этого целевого луча на несколько кадров позже, когда значение триггера достигнет 1,0, при условии, что окончательное нажатие происходит в течение короткого периода времени. При использовании сложного жеста касания более высокого уровня Windows будет управлять этим целевым захватом лучей и временем ожидания.

Положение захвата и положение указателя

Windows Mixed Reality поддерживает контроллеры движения в разных форм-факторах, при этом конструкция каждого контроллера отличается по отношению между положением руки пользователя и естественным направлением "вперед", которое приложения должны использовать для указания при отрисовке контроллера.

Чтобы лучше представить эти контроллеры, существует два типа поз, которые можно исследовать для каждого источника взаимодействия; положение захвата и положение указателя.

Поза захвата

Положение захвата представляет расположение ладони руки, обнаруженной HoloLens, или ладони, удерживая контроллер движения.

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

Положение захвата определяется следующим образом:

  • Положение сцепления. Центроид ладони при естественном удержании контроллера регулируется влево или вправо, чтобы отцентрировать положение внутри сцепления. На Windows Mixed Reality контроллере движения это положение обычно совпадает с кнопкой Захвата.
  • Правая ось ориентации захвата: когда вы полностью открываете руку, чтобы сформировать плоскую позу с пятью пальцами, луч, который является нормальным для вашей ладони (вперед с левой ладони, назад от правой ладони)
  • Прямая ось ориентации захвата: при частичном закрытии руки (как бы удерживая контроллер), луч, указывающий "вперед" через трубку, сформированную пальцами без большого пальца.
  • Ось вверх для ориентации захвата: ось вверх, подразумеваемая определениями справа и вперед.

Положение указателя

Положение указателя представляет кончик контроллера, указывающего вперед.

Предоставленное системой положение указателя лучше всего использовать для луча при отрисовке самой модели контроллера. При отрисовке другого виртуального объекта вместо контроллера, например виртуального пистолета, следует указать луч, который является наиболее естественным для этого виртуального объекта, например луч, который проходит вдоль ствола модели пистолета, определяемой приложением. Так как пользователи могут видеть виртуальный объект, а не физический контроллер, указатель на виртуальный объект, скорее всего, будет более естественным для пользователей вашего приложения.

Состояние отслеживания контроллера

Как и гарнитуры, контроллер движения Windows Mixed Reality не требует настройки внешних датчиков отслеживания. Вместо этого контроллеры отслеживаются датчиками в самой гарнитуре.

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

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


Явное обоснование состояния отслеживания

Приложения, которые хотят обрабатывать позиции по-разному в зависимости от состояния отслеживания, могут идти дальше и проверять свойства состояния контроллера, такие как SourceLossRisk и PositionAccuracy:

Отслеживание состояния SourceLossRisk PositionAccuracy TryGetPosition
Высокая точность < 1.0 Высокий Да
Высокая точность (с риском потери) == 1.0 Высокий Да
Приблизительная точность == 1.0 Приблизительна Да
Без позиции == 1.0 Приблизительна false

Эти состояния отслеживания контроллера движения определяются следующим образом:

  • Высокая точность: Хотя контроллер движения находится в поле зрения гарнитуры, он, как правило, обеспечивает высокоточных позиций на основе визуального отслеживания. Движущийся контроллер, который на мгновение покидает поле зрения или на мгновение скрыт от датчиков гарнитуры (например, другой рукой пользователя), будет продолжать возвращать высокоточных поз в течение короткого времени на основе инерционного отслеживания самого контроллера.
  • Высокая точность (с риском потери): Когда пользователь перемещает контроллер движения за край поля зрения гарнитуры, гарнитура скоро не сможет визуально отслеживать положение контроллера. Приложение знает, когда контроллер достиг этой границы FOV, просматривая , что SourceLossRisk достигает 1.0. На этом этапе приложение может приостановить жесты контроллера, требующие постоянного потока высококачественных поз.
  • Приблизительная точность: Если контроллер достаточно долго терял визуальное отслеживание, позиции контроллера опустятся до приблизительной точности. На этом этапе система будет блокировать контроллер для пользователя, отслеживая его положение при перемещении, при этом предоставляя истинную ориентацию контроллера с помощью его внутренних датчиков ориентации. Многие приложения, использующие контроллеры для указания и активации элементов пользовательского интерфейса, могут работать в обычном режиме с приблизительной точностью, не замечая пользователя. Приложения с более высокими требованиями к входным данным могут понять это падение от высокой точности до приблизительной точности, проверив свойство PositionAccuracy , например, чтобы предоставить пользователю более щедрый список попаданий на цели вне экрана в течение этого времени.
  • Без позиции: Хотя контроллер может работать с приблизительной точностью в течение длительного времени, иногда система знает, что даже положение с блокировкой тела в данный момент не имеет смысла. Например, контроллер, который был включен, возможно, никогда не наблюдался визуально, или пользователь может поместить контроллер, который затем был выбран кем-то другим. В это время система не предоставляет никакой позиции приложению, а TryGetPosition вернет значение false.

Взаимодействия: низкоуровневые пространственные входные данные

Основные взаимодействия между руками и контроллерами движения: Select, Menu, Захват, Touchpad, Thumbstick и Home.

  • Select — это основное взаимодействие для активации голограммы, состоящей из нажатия, за которым следует выпуск. Для контроллеров движения нажмите клавишу Select с помощью триггера контроллера. Другие способы выполнения выбора — произнесение голосовой команды "Выбрать". Одно и то же взаимодействие с выбором можно использовать в любом приложении. Выберите как эквивалент щелчка мыши; универсальное действие, которое вы узнаете один раз, а затем применяете во всех ваших приложениях.
  • Меню — это дополнительное взаимодействие для действия с объектом, используемое для подтягивания контекстного меню или выполнения других дополнительных действий. С контроллерами движения можно выполнить действие меню с помощью кнопки меню контроллера. (то есть кнопка со значком "меню" гамбургера)
  • Понимание — это то, как пользователи могут напрямую выполнять действия с объектами, которые у них есть, чтобы манипулировать ими. С помощью контроллеров движения вы можете выполнить захват действия, сжимая кулак плотно. Контроллер движения может обнаружить захват с помощью кнопки захвата, триггера ладони или другого датчика.
  • Сенсорная панель позволяет пользователю настроить действие в двух измерениях вдоль поверхности сенсорной панели контроллера движения, зафиксировав действие, нажав кнопку вниз на сенсорной панели. Сенсорные панели предоставляют состояние нажатия, состояние касания и нормализованные координаты XY. X и Y в диапазоне от –1 до 1 в диапазоне круговой сенсорной панели с центром в (0, 0). Для X значение -1 — слева, а 1 — справа. Для Y значение -1 находится внизу, а 1 — сверху.
  • Thumbstick позволяет пользователю настраивать действие в двух измерениях, перемещая стик контроллера движения в пределах его кругового диапазона, фиксируя действие, нажимая на стик вниз. Стиксы также предоставляют нажатое состояние и нормализованные координаты XY. X и Y в диапазоне от –1 до 1 в диапазоне круговой сенсорной панели с центром в (0, 0). Для X значение -1 — слева, а 1 — справа. Для Y значение -1 находится внизу, а 1 — сверху.
  • Home — это специальное системное действие, которое используется для возврата в меню "Пуск". Это похоже на нажатие клавиши Windows на клавиатуре или кнопки Xbox на геймпаде Xbox. Вы можете перейти на главную страницу, нажав кнопку Windows на контроллере движений. Обратите внимание, что вы всегда можете вернуться к началу, сказав "Привет, Кортана, иди домой". Приложения не могут специально реагировать на действия home, так как они обрабатываются системой.

Составные жесты: высокоуровневый пространственный ввод

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

Отрисовка модели контроллера движения

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

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

Дополнительные сведения о динамической загрузке моделей контроллеров в Unity см. в разделе Отрисовка модели контроллера движения в Unity .

2D-график контроллера Хотя мы рекомендуем подключать советы и команды контроллера приложения к моделям контроллеров в приложении, некоторые разработчики могут использовать двухd-графиковые представления контроллеров движения в неструктурированном пользовательском интерфейсе "учебник" или "инструкции". Для этих разработчиков мы сделали .png файлы графиков контроллера движения, доступные как в черном, так и в белом виде (щелкните правой кнопкой мыши, чтобы сохранить).

Предварительный просмотр графиков контроллеров движения

График контроллеров движения с полным разрешением в ''''белый''''

График контроллеров движения с полным разрешением в '''черный'''

Вопросы и ответы

Можно ли связать контроллеры движения с несколькими компьютерами?

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

Разделы справки обновить встроенное ПО контроллера движения?

Встроенное ПО контроллера движения является частью драйвера гарнитуры и при необходимости обновляется автоматически при подключении. Обновления встроенного ПО обычно занимают 1–2 минуты в зависимости от качества связи и радиосвязи Bluetooth. В редких случаях обновление встроенного ПО контроллера может занять до 10 минут, что может указывать на плохое подключение Bluetooth или радиопомехи. Чтобы устранить неполадки с подключением, ознакомьтесь с рекомендациями по Bluetooth в руководстве энтузиастов . После обновления встроенного ПО контроллеры перезагрузятся и повторно подключаются к хост-компьютеру (вы можете заметить, что индикаторы будут яркими для отслеживания). Если обновление встроенного ПО прерывается (например, контроллеры теряют питание), при следующем включении контроллеров будет предпринята повторная попытка.

Как проверка уровень заряда батареи?

В Windows Mixed Reality дома вы можете переключить контроллер, чтобы увидеть его уровень заряда на обратной стороне виртуальной модели. Нет физического индикатора уровня заряда батареи.

Можно ли использовать эти контроллеры без гарнитуры? Только для ввода джойстика, триггера и т. д.?

Не для универсальных приложений Windows.

Устранение неполадок

См. сведения об устранении неполадок контроллера движения в руководстве энтузиастов.

Отправка обратной связи и ошибок контроллера движения

Дайте нам отзыв в Центре отзывов, используя категорию "Смешанная реальность —> входные данные".

См. также раздел