Основные взаимодействия в лаборатории WebVR

VR-лаборатория

Посмотреть лабораторию

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

Мы можем классифицировать опыт WebVR по двум показателям — уровню погружения и уровню ввода. Эти уровни отличаются «степенью свободы» (DOF). 6 ГРИП относится к отслеживанию как положения, так и ориентации, 3 ГРИП — только к отслеживанию ориентации, а 0 ГРИП не отслеживает ни положение, ни ориентацию.

Уровень погружения

  • Нет VR – монитор или мобильный дисплей.
  • Стационарный VR — устройство с отслеживанием 3 степеней свободы.
  • Сидящий VR — отслеживание с 6 степенями свободы, но в ограниченной области и диапазоне углов.
  • Room Scale VR — отслеживание 6 степеней свободы в среде размером с комнату.

Входной уровень

  • 0 DOF — единственный доступный ввод — щелчок или касание. Этот метод ввода привязан к направлению взгляда пользователя. Иногда мы называем это контроллером взгляда.
  • 3 ГРИП . Контроллер, отслеживающий его ориентацию, можно использовать как лазерную указку для указания направления или местоположения. Положение контроллера оценивается на основе точки зрения пользователя. Сюда входит контроллер Daydream.
  • 6 ГРИП — Контроллер, отслеживающий его положение и ориентацию. Это можно использовать для точной имитации руки в виртуальной реальности.

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

ВебVR-лаборатория

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

Как работают взаимодействия

Базовая механика взаимодействия в лаборатории WebVR — это пересечение лучей. Пол, комната и любые объекты, с которыми можно взаимодействовать, определяются с помощью одного из трех примитивов формы:

  • Ограничивающая рамка, выровненная по оси (или AABB) . Рамка, которая не вращается.
  • Ориентированная ограничивающая рамка — рамка, которую можно вращать.
  • Сфера – радиус вокруг точки в пространстве.

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

Простые действия

Сначала мы определим несколько простых действий и то, как они используются с разными контроллерами.

Выделять

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

Нажмите

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

Основные взаимодействия

Используя выделение и нажатие, мы реализовали некоторые основные взаимодействия в лаборатории WebVR.

Телепортироваться

Телепортироваться

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

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

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

Перемещение точки зрения пользователя

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

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

Активировать

Активировать

Активация — это эквивалент нажатия кнопки на веб-странице в виртуальной реальности. В лаборатории WebVR мы восприняли это буквально и предоставили простую кнопку, которую можно активировать.

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

Схватить

Схватить

Лаборатория WebVR содержит ряд «доступных» элементов. Благодаря такому поведению, когда объект активирован, его можно взять и переместить. Существует два очевидных варианта поведения, зависящих от уровня ввода, который вы хотите поддерживать.

Для контроллеров с 6 степенями свободы, удерживая нажатой кнопку ввода, захватываемый элемент будет прикреплен к контроллеру. Затем его можно перемещать и позиционировать с детальным контролем. Если вы отпустите кнопку, активируется действие объединения или выбрасывания предмета.

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

Объединить

Объединить

Объединение — это действие, которое происходит, когда вы «используете» предмет с другим предметом. Это охватывает огромное количество вариантов использования. В лаборатории WebVR мы используем это для воспроизведения пластинок на Hi-Fi. Когда предмет схвачен, становится возможным объединить схваченный предмет с другим предметом. Если контроллеры всех типов выделяют целевой элемент, одновременно захватывая другой элемент, а затем отпуская захват, эти два элемента объединяются.

Удаление/Восстановление

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

В лаборатории WebVR мы сохранили низкие требования к производительности, не используя физическое моделирование для каких-либо элементов. Это означает, что вместо того, чтобы бросать предмет на землю, мы просто позволяем ему плавать в том положении, в котором он был брошен. Если после падения предмета он не будет активирован в течение определенного периода времени, он «восстановится» в исходное местоположение. Эта функция восстановления позволяет пользователю с низкой степенью ввода (0 или 3 степеней свободы) работать со многими элементами и поддерживать пригодную для использования рабочую область. Старые элементы автоматически очистятся.

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

Краткое содержание

WebVR Lab — это живой проект команды PlayCanvas. Это означает, что он постоянно находится в разработке, и опыт добавляется и обновляется по мере того, как мы проводим дополнительные исследования в области создания приложений WebVR.

Он масштабируется от мобильного интерфейса в стиле «волшебного окна» до интерактивной игровой площадки для настольных компьютеров. Мы начали определять набор основных взаимодействий, которые пользователи могут использовать в своих проектах. Мы надеемся, что лаборатория WebVR станет хорошим опытом обучения для всех, кто хочет создавать 3D-миры с помощью WebVR.

Если у вас есть учетная запись PlayCanvas, вы можете сразу перейти к проекту WebVR Lab Project , чтобы узнать больше.