Впервые на русском: Документация Oculus для разработчиков. Пользовательский интерфейс

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

  1. Документация Oculus для разработчиков:
    1. Введение в рекомендации
    2. Бинокулярное зрение, стереоскопическая визуализация и индикаторы глубины
    3. Поле зрения и масштаб
    4. Методы рендеринга
    5. Движение
    6. Отслеживание
    7. «Болезнь симуляции»
    8. Пользовательский интерфейс
    9. Пользовательский ввод и навигация
    10. Заключение
    11. Введение в SDK для ПК
    12. Руководство разработчика
    13. Руководство по началу работы с ПК SDK
    14. Руководство ПК SDK для разработчика. Интеграция LibOVR
    15. Инициализация и перечень сенсоров
    16. Рендеринг в Oculus Rift
    17. Расширенная настройка рендеринга
    18. Управление связью с виртуальной реальностью
    19. Система безопасности Oculus Guardian
    20. Аудио Oculus Rift
    21. Контроллеры Oculus Touch
    22. Дополнительная информация об Oculus Touch
    23. Примеры использования SDK и геймпада
    24. Оптимизация вашего приложения
    25. Подключение контроллеров Oculus Touch
    26. Асинхронный SpaceWarp
    27. Дополнительная информация о подключении контроллеров Oculus Touch
    28. Справочная информация

Чтобы оставаться в курсе новостей о виртуальной реальности, подписывайтесь на наш Telegram!

Обзор

  • Дисплей, проецирующийся на виртуальное лобовое стекло (HUD):
  1. Упомянутый HUD идеально интегрирует информацию в окружающую среду.
  2. Рисуйте сетку непосредственно на цели, а не на плоскости с фиксированной глубиной.
  3. Крупное оружие и инструменты могут привести к утомлению глаз; делайте их частью аватара, который выпадает из поля зрения тогда, когда он не используется.
  • У аватаров есть свои плюсы и минусы; они могут заземлять пользователя в виртуальной среде, но также могут заставлять их чувствовать себя необычно, когда те не соответствуют тому, что делает реальное тело пользователя.
Дисплей, проецирующийся на виртуальное лобовое стекло (HUD)

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

Во-первых, HUD закрывает (появляется перед) всем, что есть на 3D плане. Это не проблема в нестереоскопических играх, потому что пользователь может легко предположить, что HUD фактически находится впереди всего остального. К сожалению, добавление бинокулярного несоответствия (небольшого различия между изображениями, проецируемыми на каждый глаз) в качестве индикатора глубины может создать противоречие, если элемент пейзажа находится ближе к пользователю, чем плоскость глубины HUD: основанный на окклюзии, HUD воспринимается как то, что находится ближе, чем элементы пейзажа, потому что он закрывает собой всё, что находится за ним, но бинокулярное несоответствие указывает, что HUD находится дальше, чем элементы пейзажа, которые он закрывает. Это может привести к затруднениям и/или дискомфорту при попытке слияния изображений для HUD или окружающей среды.

Хотя перемещение HUD ближе по отношению пользователю может помочь не допустить визуального противоречия окклюзии и несоответствия, расстояние, необходимое для предотвращения этих проблем, скорее всего сделает интерфейс ближе, чем рекомендуемое минимально комфортное расстояние в 75 см. Установка границы для игрока на глубине HUD аналогичным образом создаёт проблемы, так как пользователи будут ощущать искусственное дистанцирование от объектов в окружающей среде. Хотя эти методы могут работать при определённом контексте, который может помочь обойти эти проблемы, HUD может заставить пользователя быстро ощутить его как неуклюжий реликт в виртуальной реальности, и потому в общем следует предпочесть использование более комфортных для пользователя опций.

Рисунок 2. Используемый HUD внутри Oculus Rift
Вместо этого подумайте над возможностью создания информационных устройств в самой среде. Помните, что пользователи могут двигать головами, воспринимая информацию естественным и интуитивно понятным способом, который может не работать в традиционных видеоиграх. Например, вместо миникарты и компаса в HUD игрок может получить всю информацию, просто взглянув на реальную карту и компас в руках или внешнем дисплее своего аватара. Это не означает, что здесь необходим реализм; показатели здоровья врагов могут отображаться над их головами. Важным является предоставление информации в ясной и комфортной форме, которая не препятствует способности игрока воспринимать чёткое единое изображение среды или той информации, которую они пытаются получить.

Ориентировочные сетки – это отличный пример адаптации старых парадигм в виртуальной реальности. Так как сетка важна для точного наведения, её можно просто вставить поверх пейзажа на фиксированной плоскости глубины, что не даст игрокам сетки, которую игроки ожидают в игре. Если сетка появляется на той глубине, которая отличается от того места, где сходятся глаза, это воспринимается как двойное изображение. Чтобы сетка прицела работала так же, как в традиционных видеоиграх, она должна быть нарисована непосредственно на объекте, на который она нацеливается на экране, именно там, где глаза пользователя сходятся при прицеливании. Сам крест прицела может иметь фиксированный размер, который оказывается больше или меньше того расстояния, либо вы можете запрограммировать его для поддержания точного размера для пользователя; это в первую очередь эстетическое решение дизайнера. Это просто демонстрирует то, что некоторые старые парадигмы могут быть перенесены в виртуальную реальность, но не без аккуратной модификации и дизайна с учётом требований новой среды.

Аватары

Аватар – это видимое представление тела пользователя в виртуальном мире, которое обычно соответствует положению пользователя, движению и жестам. Пользователь может видеть своё собственное виртуальное тело и наблюдать, как другие пользователи видят и взаимодействуют с ними. Так как виртуальная реальность часто предоставляет опыт от первого лица, многие приложения в виртуальной реальности обходятся без какого-либо воплощения пользователя, и поэтому пользователь просто располагается в виртуальном пространстве.


Рисунок 3. Аватар пользователя (нижняя часть экрана)
У аватаров есть свои плюсы и минусы. С одной стороны, аватар может дать пользователям сильное ощущение масштабирования и объёма их тела в виртуальном мире. С другой стороны, воплощение реалистичного тела аватара, которое противоречит проприоцепции пользователя (например, тело идёт в то время, когда он сидит), может показаться странным. Во время публичных демонстраций Oculus Rift пользователи обычно положительно реагируют на возможность видеть свои виртуальные тела, и поэтому аватары могут служить средством для выражения их эстетических запросов. Как и все остальное, что касается этой относительно молодой среды, тестирование и оценка пользователей необходимы, чтобы понять, что лучше всего подходит для вашего контента.

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

Оружие и инструменты

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

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

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

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

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

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

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

 

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.