Впервые на русском: Документация 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!

Обзор

  • Не существует традиционного метода ввода, который был бы идеальным для виртуальной реальности, однако геймпады в настоящее время являются лучшей опцией из возможных; инновации и исследования являются необходимыми и постоянно ведутся в Oculus.
  • Пользователи не могут видеть свои устройства для ввода во время использования Oculus Rift; позвольте им использовать знакомый им контроллер для того, чтобы они могли работать без необходимости видеть.
  • Используйте сенсоры Oculus Rift для контроля ввода (например, при нацеливании на голову), но будьте осторожны с взаимодействиями между движениями головы и виртуальным движением, которые могут вызывать тошноту.
  • Передвижение может создавать новые проблемы в виртуальной реальности.
  • Подумайте о том, чтобы предложить режим движения в tank mode («режим танка»), который пользователи смогут переключать. Добавьте способ сбросить заголовок с помощью прямого направленного взгляда.
Мышь, клавиатура, геймпад

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

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

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

Альтернативные методы ввода

В качестве альтернативы для того, чтобы прицеливаться в объекты с помощью мыши или контроллера, некоторые разработчики контента для виртуальной реальности позволяют пользователям целиться головой. Например, пользователь направляет сетку или курсор, который центрируется в любом направлении, с которым пользователь работает в данный момент. В настоящее время мы используем этот метод как «бросание луча». Пользовательское тестирование в Oculus предполагает, что отбрасывание видимого луча может стать интуитивно понятным и удобным для пользователя способом взаимодействия, если у пользователя есть ясный указатель таргетинга (который рендерится на той глубине объекта, на которой находится объект, на который пользователь нацеливается) и адекватная визуальная обратная связь, которая указывает направления взгляда. Например, при использовании этого метода для выбора элементов в меню элементы должны реагировать на контакт с направленным прицелом/курсором видимым образом (например, с помощью анимации или выделения). Также имейте в виду, что таргетинг с помощью движений головы имеет ограничения в точности. В случае меню элементы должны быть большими и достаточно разнесёнными в пространстве, чтобы пользователи могли точно целиться на них. Кроме того, пользователи могут двигать головой без намерения изменять свою цель, например, если всплывающая подсказка появляется за пределами меню, которое перемещается при помощи «бросания луча». Пользовательское тестирование в конечном счете является необходимым для того, чтобы проверить, подходит ли отбрасывание луча вашему контенту.

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

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

Навигация

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

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

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

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

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

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

 

[1] Дихганс, Д. Брандт, T. (1973). Оптокинетическая «морская болезнь» и псевдокоролиозные эффекты, вызванные движением зрительных стимулов. Acta Oto-laryngologica, 76, 339-348.

 

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

 

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