Курсоры
Курсор обеспечивает непрерывную обратную связь в зависимости от того, где гарнитура считает, что текущее внимание пользователей находится в данный момент времени. Обратная связь с курсором включает в себя область, голограмму или точку в виртуальной среде, реагирующей на входные данные. Несмотря на то, что курсор представляет собой цифровое представление того, где устройство понимает внимание пользователя, это не то же самое, что и определение намерений пользователя. Обратная связь с курсором также позволяет пользователям узнать, какие системные ответы следует ожидать. Вы можете использовать обратную связь, чтобы сообщить о своем намерении устройству, что повышает доверие пользователей.
Есть три вида курсоров: палец, луч и взгляд головы. Эти указатели работают с различными модалями ввода в HoloLens, HoloLens 2 и иммерсивными гарнитурами. Ниже приведены инструкции по выбору типа курсора для каждого типа гарнитуры и модели взаимодействия. В наборе средств Смешанная реальность (MRTK) мы создали модули курсоров перетаскивания, которые помогут вам создать правильный интерфейс.
Поддержка устройств
Компонент | HoloLens (1-го поколения) | HoloLens 2 | Иммерсивные гарнитуры |
Курсор пальца | ❌ | ✔️ | ❌ |
Курсор Луча | ❌ | ✔️ | ✔️ |
Курсор взгляда на голову | ✔️ | ✔️ | ✔️ |
Курсор пальца
Курсор пальца доступен только на HoloLens 2 для улучшения режима взаимодействия "прямой манипуляции с руками". Мы прикрепили кольца к кончикам обоих индексных пальцев, чтобы лучше понять, где указывает палец. Размер кольца основан на близости пальца к поверхности пользовательского интерфейса, которая сжимается до небольшой точки, когда палец касается пользовательского интерфейса. Чем ближе палец, тем меньше кольцо.
Визуальные состояния обратной связи курсора пальца 1: кольцо сжимается до точки. 2. Кольцо выравнивается по поверхности. 3. Кольцо перпендикулярно вектору пальца. 4: Нет кольца.
Курсор Луча
Курсоры лучей прикрепляются к концу далеко указывающих лучей, чтобы позволить манипулировать объектами, которые находятся вне досягаемости рук. В иммерсивных гарнитурах лучи снимаются с контроллеров движения и заканчиваются точками курсоров. В HoloLens 2 мы применяем умственную модель этих лучей контроллера движения и разработанные лучи рук, которые происходят от ладоней и заканчиваются на кольцевых курсорах, которые соответствуют курсорам пальцев, используемым в прямой манипуляции.
Лучи курсоров контроллеров движения
Лучи курсоров рук
Курсор взгляда на голову
Курсор направления головы — это точка, которая прикрепляется к концу невидимого вектора направления головы, который использует положение и поворот головы к точке. Для выполнения действий этот указатель мыши связан с различными входными данными фиксации, такими как касание воздуха, голосовые команды, остановка и нажатие кнопки. В HoloLens 2, взгляд на голову лучше всего связан с любыми входными данными фиксации, которые не касаются воздуха, так как будет конфликт взаимодействия между краном воздуха и дальними лучами рук.
Курсор взгляда головы с жестом руки
Курсор взгляда головы с голосовой командой
Рекомендации по настройке курсора
Если вы хотите настроить поведение и внешний вид курсора, ниже приведены некоторые рекомендации по проектированию.
Масштаб курсора
- Курсор не должен превышать доступные целевые объекты, что позволяет пользователям легко взаимодействовать с содержимым и просматривать его.
- В зависимости от создаваемого интерфейса масштабирование курсора по мере просмотра пользователем также является важным фактором. Например, когда пользователь выглядит дальше в вашем интерфейсе, курсор не должен стать слишком маленьким, чтобы он потерялся.
- При масштабировании курсора рассмотрите возможность применения к нему мягкой анимации по мере масштабирования, чтобы дать ему органические ощущения.
- Избегайте препятствования содержимому. Голограммы — это то, что делает впечатление запоминающимся, и курсор не должен отбирать их.
Фигура курсора без направления
- Хотя фигура курсора не существует, рекомендуется использовать ненаправленную фигуру, например торус. Курсор, указывающий в определенном направлении (например, традиционный курсор со стрелкой), может запутать пользователя, чтобы всегда выглядеть таким образом.
- Исключением из этого является использование курсора для передачи инструкции взаимодействия пользователю. Например, при масштабировании голограмм в ос Смешанная реальность курсор временно включает стрелки, которые указывают пользователю, как переместить руку для масштабирования голограммы.
Внешний вид и ощущение
- Курсор в форме кольцевой кольцевой фигуры или торус работает для многих приложений.
- Выберите цвет и фигуру, которые лучше всего представляют создаваемый интерфейс.
- Курсоры особенно подвержены разделению цвета.
- Маленький курсор с сбалансированной непрозрачностью обеспечивает информативность, не доминируя в визуальной иерархии.
- Будьте осведомлены об использовании тени или выделения за курсором, так как они могут препятствовать содержимому и отвлекаться от задачи под рукой.
- Курсоры должны выравнивать и обнимать поверхности в приложении. Пользователи будут чувствовать, что система может видеть, где они ищут, но и что система знает о своих окружениях. Например, курсор в ос Смешанная реальность выравнивается по поверхностям пользовательского мира, создавая ощущение осведомленности о мире, даже если пользователь не смотрит непосредственно на голограмму.
- Магнитное закрепление курсора на интерактивный элемент, когда он находится рядом с пользователем, может повысить уверенность в том, что пользователь будет взаимодействовать с этим элементом при использовании действия выделения.
Визуальные подсказки
- Если ваш интерфейс ориентирован на одну голограмму, курсор должен выровнять и обнять только эту голограмму и изменить фигуру при взгляде на эту голограмму. Это может сообщить пользователю, что голограмма действима и может взаимодействовать с ней.
- Если приложение использует пространственное сопоставление, курсор может выровнять и обнять каждую видимую поверхность. Это дает пользователям отзывы о том, что HoloLens и ваше приложение могут видеть свое пространство. Это усиливает тот факт, что голограммы реальны и в нашем мире и помогает преодолеть разрыв между реальным и виртуальным.
- Иметь представление о том, что должен делать курсор, если нет голограмм или поверхностей в представлении. Размещение его на предопределенном расстоянии перед пользователем является одним из вариантов.
Возможные действия
- Курсор может быть представлен различными значками для передачи возможных действий голограммы, таких как масштабирование или поворот.
- Добавьте дополнительные сведения о курсоре только в том случае, если это означает что-то для пользователя. В противном случае пользователи могут либо не заметить изменения состояния, либо запутаться курсором.
Состояние входных данных
Мы могли бы использовать курсор для отображения состояния ввода или намерения пользователя. Например, можно отобразить значок, сообщающий пользователю, что система видит состояние руки и что приложение знает, что готовы принять меры.
Мы также могли бы использовать курсор, чтобы показать пользователям, что голосовые команды были услышаны системой с помощью мгновенного изменения цвета
Следующие состояния курсора можно реализовать различными способами. Эти состояния можно реализовать путем моделирования курсора, например конечного автомата. Пример:
- Состояние простоя — это состояние, в котором отображается курсор по умолчанию.
- Состояние готовности — это состояние, когда вы обнаружили руку пользователя в готовой позиции.
- Состояние взаимодействия — это когда пользователь выполняет определенное взаимодействие.
- Возможные действия или состояние наведения — это когда вы передаете возможные действия, которые могут выполняться на голограмме.
Вы также можете реализовать эти состояния с возможностью отображения различных художественных активов при обнаружении различных состояний.
Переход "без курсора"
Проектирование без курсора рекомендуется, если чувство погружения является ключевым компонентом взаимодействия, а при указании взаимодействий (с помощью взгляда и жестов) не требуется большая точность. Система по-прежнему должна соответствовать обычным требованиям курсора: предоставление пользователям непрерывной обратной связи о том, что система понимает их, и помогает им сообщать о своих намерениях в системе. Это может быть достижимо с помощью других заметных изменений состояния.
Курсор в MRTK (набор средств Смешанная реальность) для Unity
По умолчанию MRTK предоставляет префаб курсора (DefaultCursor.prefab), который имеет то же визуальное состояние, что и системный курсор оболочки. Она назначается в профиле ввода данных в MRTK, в разделе "Указатели". Вы можете заменить или настроить этот курсор для вашего интерфейса. Для взаимодействия с входными данными отслеживания глаз MRTK также предоставляет EyeGazeCursor, который имеет тонкий визуальный элемент, чтобы свести к минимуму отвлекающие факторы.