Комфорт

Во время естественного просмотра зрительная система человека использует несколько источников информации, или "подсказок", чтобы интерпретировать трехмерные фигуры и относительное положение объектов. Для некоторых подсказок используются только данные от одного глаза (монокулярные подсказки), например:

Другие подсказки основываются на данных от обоих глаз (бинокулярные подсказки), например:

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

Конфликт между вергенцией и аккомодацией

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

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

Рекомендации для голографических устройств

Дисплеи HoloLens настроены на оптическое расстояние примерно в 2,0 метра от пользователя. Чтобы изображение оставалось четким, пользователи должны аккомодировать взгляд для расстояния около 2,0 метра. Разработчики приложений могут помочь пользователям сводить глаза, размещая содержимое и голограммы на различной глубине. Чтобы устранить или уменьшить дискомфорт, возникающий из-за конфликта вергенции и аккомодации, желательно сохранять между пользователем и любым содержимым расстояние как можно ближе к 2,0 метра. Например, в сцене с большой глубиной, самые важные области и объекты по мере возможности нужно размещать на расстоянии 2,0 м. Если содержимое нельзя разместить на расстоянии 2,0 метра, максимальный дискомфорт от конфликта между вергенцией и аккомодацией создается, когда пользователь переводит взгляд между объектами, расположенными на разных расстояниях. Иными словами, гораздо комфортнее смотреть на неподвижную голограмму на расстоянии в 50 сантиметров, чем на такую же голограмму, которая постоянно приближается и удаляется.

Оптимальное расстояние от пользователя для размещения голограмм.
Оптимальное расстояние от пользователя для размещения голограмм

Рекомендации для HoloLens (1-го поколения) и HoloLens 2

Для достижения максимального комфорта размещайте голограммы в оптимальной зоне от 1,25 до 5,0 м. В любом случае проектировщикам следует создавать сцены с содержимым, предлагающие пользователям взаимодействовать с объектами на расстоянии не менее 1 метра (например, изменяя размер содержимого и параметры размещения по умолчанию).

Даже если содержимое требуется отображать ближе, чем на расстоянии 1 метр, советуем никогда не приближать голограммы до менее 40 сантиметров от пользователя. Поэтому мы рекомендуем частично скрывать содержимое, начиная с расстояния 40 см, а на расстоянии в 30 см поместить плоскость отсечения отрисовки, чтобы избежать появления более близких объектов.

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

Дополнительные рекомендации для HoloLens 2 и расстояний близкого взаимодействия

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

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

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

Руководство по иммерсивным устройствам

Указания и рекомендации для HoloLens относятся и к иммерсивным устройствам, но конкретные значения зоны комфорта смещаются в зависимости от расстояния до экрана. Как правило, фокусные расстояния до этих дисплеев составляют от 1,25 до 2,5 м. При любых сомнениях старайтесь не допускать отображения важных объектов слишком близко к пользователю, отодвигая содержимое на 1 метр или дальше.

Межзрачковое расстояние и вертикальное смещение

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

Межзрачковое расстояние — это расстояние между зрачками, то есть центрами глаз человека. Вертикальное смещение — это потенциальное вертикальное смещение цифрового содержимого, отображаемого для каждого глаза, относительно горизонтальной оси глаз зрителя (это не то же самое, что горизонтальное смещение или биноклярная диспаратность). Если неправильно учесть один или оба этих фактора для конкретного пользователя, это может не только обострить дискомфорт от конфликта между вергенцией и аккомодацией. Дискомфорт может сохраниться даже при устранении этого конфликта (например, для содержимого, отображаемого в HoloLens на фокусном расстоянии в 2 метра).

Рекомендации для голографических устройств

HoloLens (1-го поколения)

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

HoloLens 2

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

Руководство по иммерсивным устройствам

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

Частоты отрисовки

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

Дальнейшее погружение

Чтобы отрисовывать голограммы, выглядящие стабильными в реальном и виртуальном мирах, приложения должны отображать изображения с учетом расположения пользователя. Так как отрисовка изображений занимает время, HoloLens и другие устройства Windows Mixed Reality прогнозирует, куда будет направлена голова пользователя при отображении изображений на дисплеях. Этот алгоритм прогнозирования является приблизительным. Алгоритмы и оборудование Windows Mixed Reality настраивают отрисованное изображение с учетом расхождений между прогнозируемым и фактическим положением головы. Благодаря этому пользователь видит изображение, как-будто оно было визуализировано из правильного расположения, и голограммы выглядят стабильными. Обновления лучше всего подходят для небольших изменений положения головы, и они не позволяют полностью учесть некоторые различия в отрисованных изображениях, например, вызванные двигательным параллаксом.

Выполняя отрисовку с минимальной частотой в 60 кадров/с, вы обеспечиваете соблюдение двух критериев, которые способствуют стабильности голограмм.

  1. Вы уменьшаете дрожание, характеризующееся неравномерным движением и двоением изображений. Чем быстрее перемещаются голограммы и чем ниже частота кадров отрисовки, тем заметнее дрожание. Следовательно, стараясь всегда поддерживать частоту в 60 кадров/с (или максимальную частоту кадров отрисовки устройства), вы сможете избежать дрожания.
  2. Вы минимизируете общую задержку. В подсистеме с жесткой связью между обработкой игрового потока и потока отрисовки при частоте 30 кадров/с может возникать дополнительная задержка в 33,3 мс. Уменьшение задержки уменьшает погрешность прогнозирования и повышает стабильность голограмм.

Анализ производительности

Есть много инструментов для оценки частоты кадров в приложении, например:

  • GPUView;
  • отладчик графики Visual Studio;
  • профилировщики, встроенные в подсистемы обработки трехмерной графики, например Frame Debugger в Unity.

Движение и перемещение

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

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

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

Рекомендации для голографических устройств

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

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

Руководство по иммерсивным устройствам

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

  1. Предоставьте интерфейс, в котором пользователь может выбрать место в виртуальной среде, куда ему нужно переместиться.
  2. После выбора места начните имитацию очень быстрого (100 м/с) движения к нему с одновременным быстрым исчезанием визуализации.
  3. Восстановите визуализацию после завершения перехода.

HUD-дисплеи

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

Читаемость текста

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

  • свойства отображения, такие как плотность пикселей, яркость и контрастность;
  • свойства линзы, такие как хроматическая аберрация;
  • свойства текста и шрифта, такие как толщина, межсимвольное расстояние, наличие засечек и цвет шрифта и фона.

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

Рекомендации по кадрированию для голографических устройств

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

  • горизонтальное (из стороны в сторону);
  • вертикальное (вверх и вниз);
  • иммерсивное (горизонтально и вертикально).

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

Оптимальная зона для содержимого — 0–35 градусов ниже горизонта
Оптимальная зона для содержимого — от 0 до 35 градусов ниже горизонта

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

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

Направление взгляда

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

  • Избегайте углов обзора выше 10 градусов над горизонтом (вертикальное перемещение).
  • Избегайте углов обзора ниже 60 градусов под горизонтом (вертикальное перемещение).
  • Не допускайте поворотов шеи более чем на 45 градусов от центра (горизонтальное перемещение).

Оптимальным (в спокойном состоянии) считается угол взгляда в 10–20 градусов ниже линии горизонта, так как обычно голова слегка наклоняется вниз, особенно во время выполнения каких-либо действий.

Положения рук

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

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