Взгляд и фиксация

Взгляд и фиксация — это фундаментальная модель ввода, которая тесно связана с тем, как мы взаимодействуем с нашими компьютерами с помощью мыши: щелчок указателя &мыши. На этой странице мы представляем два типа входных данных взгляда (голова и взгляд) и различные типы действий фиксации. Взгляд и фиксация считаются далекой моделью ввода с непрямой манипуляцией. Лучше всего использовать для взаимодействия с голографическим содержимым, которое находится вне досягаемости.

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

Помимо взгляда головы, некоторые гарнитуры смешанной реальности, такие как HoloLens 2, включают системы отслеживания взгляда, которые создают вектор взгляда. Это обеспечивает высокоточное измерение направления взгляда пользователя. В обоих случаях взгляд представляет собой важный сигнал для намерения пользователя. Чем лучше система может интерпретировать и прогнозировать предполагаемые действия пользователя, тем больше удовлетворенности пользователей и производительности улучшается.

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

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

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

Модель ввода HoloLens (1-го поколения) HoloLens 2 Иммерсивные гарнитуры
Направление головы и фиксация ✔ Рекомендуется ✔ Рекомендуется (третий вариант см. в разделе других возможностей) ➕ Альтернативный вариант
Определение направления взгляда и фиксация ❌ Недоступно ✔ Рекомендуется (третий вариант см. в разделе других возможностей) ❌ Недоступно

Демонстрация основных принципов разработки технологии отслеживания взгляда и головы

Если вы хотите посмотреть, как работает отслеживание головы и взгляда, ознакомьтесь с нашей видеодемонстрацией Designing Holograms - Head Tracking and Eye Tracking (Создание голограмм — отслеживание головы и взгляда) ниже. По завершении продолжите изучать другие темы.

Это видео было записано из приложения Designing Holograms для HoloLens 2. Скачайте его и насладитесь всеми его возможностями здесь.

Взгляд

Взгляд на глаза или голову?

При возникновении вопроса следует использовать модель ввода "взгляд-взгляд и фиксация" или "направление головы и фиксация". Если вы разрабатываете для иммерсивной гарнитуры или для HoloLens (1-го поколения), выбор прост: head-gaze и commit. Если вы разрабатываете для HoloLens 2, выбор становится немного сложнее. Важно понимать преимущества и проблемы, которые приходят с каждым из них. Мы скомпилировали некоторые широкие pro и con в таблице ниже, чтобы контрастировать голову против взгляда нацеливания. Это далеко не полностью, и мы рекомендуем узнать больше о взгляде нацеливание на смешанной реальности здесь:

  • Отслеживание взгляда на HoloLens 2: общее введение нашей новой возможности отслеживания взгляда на HoloLens 2 включая некоторые рекомендации для разработчиков.
  • Взаимодействие с взглядом: рекомендации и рекомендации по проектированию при планировании использования отслеживания взгляда в качестве входных данных.
Нацеливание взгляда на глаза Нацеливание направлением головы
Быстрый! Медленнее
Низкие усилия (едва какие-либо движения тела необходимы) Может быть утомляющим - Возможный дискомфорт (например, штамм шеи)
Не требует курсора, но рекомендуется использовать тонкие отзывы Требуется показать курсор
Нет плавных движений глаз, например, не подходит для рисования Более контролируемый и явный
Трудно использовать небольшие целевые объекты (например, крошечные кнопки или веб-ссылки) Надежный! Отличный откат!
... ...

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



Курсор

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

Для взгляда, как правило, мы рекомендуем не показывать курсор, так как это может быстро стать отвлекающим и раздражающим для пользователя. Вместо этого выделяйте целевые объекты визуального элемента или используйте слабый курсор глаза, чтобы обеспечить уверенность в том, с чем взаимодействует пользователь. Дополнительные сведения см. в руководстве по проектированию для ввода на основе глаз на HoloLens 2.

An example visual cursor to show gaze
Изображение: пример визуального курсора для отображения взгляда



Commit

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

Поддерживаются следующие методы фиксации:

  • Жест касания воздуха (то есть поднять руку перед вами и объединить указательный палец и большой палец)
  • Скажите "выбрать" или одну из целевых голосовых команд
  • Нажмите одну кнопку на HoloLens Clicker
  • Нажмите кнопку "A" на геймпаде Xbox
  • Нажмите кнопку "A" на адаптивном контроллере Xbox

Жест касания взгляда и касания воздуха

Касание — это жест касания с положением руки вертикально. Чтобы использовать касание воздуха, поднимите указательный палец к готовому положению, а затем сжать с большим пальцем и поднять указательный палец вверх, чтобы освободить. На HoloLens (1-го поколения) касание воздуха является наиболее распространенным вторичным вводом.

Finger in the ready position
Палец в готовом положении

Press finger down to tap or click
Нажмите пальцем вниз, чтобы коснуться или щелкнуть

Касание воздуха также доступно на HoloLens 2. Она была расслаблена от первоначальной версии. Почти все типы щекоток в настоящее время поддерживаются до тех пор, пока рука в вертикальном положении и держат все еще. Это значительно упрощает обучение и использование жеста пользователями. Этот новый касание воздуха заменяет старый через тот же API, поэтому существующие приложения будут иметь новое поведение автоматически после перекомпиляции для HoloLens 2.



Голосовая команда "Взгляд" и "Выбрать"

Голосовая команда является одним из основных методов взаимодействия в смешанной реальности. Он предоставляет мощный механизм без рук для управления системой. Существуют различные типы моделей голосового взаимодействия:

  • Универсальная команда Select, использующая действие щелчка или фиксацию в качестве дополнительного ввода.
  • Команды объекта (например, "Закрыть" или "Сделать его больше") выполняют и фиксируют действие в качестве дополнительного ввода.
  • Глобальные команды (например, "Перейти к запуску") не требуют целевого объекта.
  • Пользовательские интерфейсы беседы или сущности, такие как Кортана, имеют возможности естественного языка ИИ.
  • Пользовательские голосовые команды

Дополнительные сведения и полный список доступных голосовых команд и их использования см. в нашем руководстве по голосовой команде .



Взгляд и HoloLens Clicker

HoloLens Clicker — это первое периферийное устройство, созданное специально для HoloLens. Он входит в состав выпуска Development Edition HoloLens (1-го поколения). HoloLens Clicker позволяет пользователю щелкать с минимальным движением руки и фиксировать в качестве дополнительного ввода. HoloLens Clicker подключается к HoloLens (1-го поколения) или HoloLens 2 с помощью Bluetooth Low Energy (BTLE).

Дополнительные сведения и инструкции по связыванию устройства

Изображение: HoloLens Clicker

HoloLens Clicker



Взгляд и Беспроводной геймпад Xbox

Беспроводной геймпад Xbox выполняет действие щелчка в качестве дополнительного ввода с помощью кнопки A. Устройство сопоставляется с набором действий по умолчанию, которые помогают перемещаться по системе и управлять ими. Если вы хотите настроить контроллер, используйте приложение "Аксессуары Xbox" для настройки Беспроводной геймпад Xbox.

Связывание контроллера Xbox с компьютером

Изображение: Беспроводной геймпад Xbox

Xbox Wireless Controller



Взгляд и адаптивный контроллер Xbox

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

Адаптивный контроллер Xbox выполняет действие щелчка в качестве дополнительного ввода с помощью кнопки A. Устройство сопоставляется с набором действий по умолчанию, которые помогают перемещаться по системе и управлять ими. Если вы хотите настроить контроллер, используйте приложение "Аксессуары Xbox" для настройки адаптивного контроллера Xbox.

Xbox Adaptive Controller
Адаптивный контроллер Xbox

Подключение внешних устройств, таких как переключатели, кнопки, подключения и джойстики для создания пользовательского интерфейса контроллера, который является уникальным вашим. Кнопки, палец и ввод триггеров управляются специальными устройствами, подключенными через разъемы 3,5 мм и USB-порты.

Xbox Adaptive Controller ports
Порты адаптивного контроллера Xbox

Инструкции по связыванию устройства

Дополнительные сведения доступны на сайте Xbox



Составные жесты

Жест касания

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

Касание и удержание

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

Управление

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

Жесты навигации работают как виртуальный джойстик и могут использоваться для навигации по мини-приложениям пользовательского интерфейса, таким как радиальные меню. Вы касаетесь и удерживаете, чтобы начать жест, а затем двигаете рукой в нормализованном трехмерном кубе, центрированном вокруг начального нажатия. Вы можете переместить руку вдоль оси X, Y или Z от значения –1 до 1, а 0 — начальной точкой. Навигация может использоваться для создания жестов непрерывной прокрутки или масштабирования на основе скорости, аналогично прокрутке 2D-интерфейса путем нажатия средней кнопки мыши и последующего перемещения мыши вверх и вниз.

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

В 2D-приложениях пользователи могут использовать жесты вертикальной навигации для прокрутки, масштабирования или перетаскивания внутри приложения. Это вводит в приложение виртуальные касания пальцем, чтобы имитировать сенсорные жесты того же типа. Пользователи могут выбрать, какие из этих действий выполняются, переключив между инструментами на панели над приложением, нажав кнопку или сказав "<Прокрутка, перетаскивание и масштабирование> ".

Дополнительные сведения о составных жестах

Распознаватели жестов

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

Распознавание рук

HoloLens распознает жесты рук, отслеживая положение одной или обеих рук, которые видимые устройству. Руки видны для HoloLens, когда они находятся в состоянии готовности (задняя часть руки обращена к вам указательным пальцем вверх) или в нажатом состоянии (задняя часть руки обращена к вам указательным пальцем вниз). Когда руки находятся в других позах, HoloLens игнорирует их. Для каждой руки, которая HoloLens обнаруживает, вы можете получить доступ к его позиции без ориентации и ее нажатого состояния. Когда рука приближается к краю рамки жеста, вам также предоставляется вектор направления, который вы можете показать пользователю. Так он узнает, как переместить руку, чтобы вернуть ее туда, где она будет видна для HoloLens.

Рамка жестов

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

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

Есть три вещи, которые необходимо рассмотреть:

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

  • Уведомляя пользователей, когда их жесты приближаются или нарушают границы кадров жестов в приложении в той степени, что потерянный жест приводит к нежелательным результатам. Исследования показали ключевые качества такой системы уведомлений. Оболочка HoloLens предоставляет хороший пример такого типа уведомления— визуального элемента на центральном курсоре, указывая направление, в котором происходит пересечение границ.

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

См. также статью