Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
XR Шаг 5 из 36

Разработка VR и MR в Unity

Начните разработку проектов виртуальной и смешанной реальности в Unity.

Виртуальная реальность (VR) и смешанная реальность (MR) — это разновидности расширенной реальности, в которых специальные устройства дают пользователю возможность взаимодействовать с виртуальным окружением.

В VR-сценариях окружение замкнуто: пользователь не видит окружающую обстановку и воспринимает только виртуальный контент на экране. Взаимодействовать он может лишь с виртуальным контентом, а не с физическим окружением. Обычно VR реализуется через гарнитуру (шлем, Head-Mounted Display, HMD), экран которой показывает виртуальное окружение. VR полностью погружает пользователя, поэтому хорошо подходит для иммерсивных сюжетных сценариев и геймплея.

MR сочетает элементы реального и виртуального окружения, позволяя пользователю одновременно видеть и то и другое и взаимодействовать с ними. MR опирается на устройства, способные показывать вид окружения пользователя в реальном времени и совмещать его с виртуальным контентом. Некоторые гарнитуры, например Meta Quest 3, реализуют MR через passthrough камеры, которые снимают окружающую обстановку и выводят её на экран. Разработчики часто называют такие приложения passthrough-приложениями. Другие устройства достигают MR без сквозных камер: например, устройства Microsoft HoloLens — это прозрачные очки, проецирующие виртуальный контент прямо на линзы. MR полезна там, где важна интеграция с реальным миром, — например, в обучающих или образовательных сценариях. С помощью MR можно также создавать социальные игровые сценарии или дополнять геймплей информацией о местоположении.

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

Соображения в отношении разработки VR и MR

Разработка VR и MR имеет общие рабочие процессы и соображения дизайна с любой разработкой 3D в реальном времени в Unity. Однако отличительные факторы включают:

  • Более богатый пользовательский ввод: в дополнение к традиционным кнопкам и джойстик-контроллерам, VR устройства обеспечивают пространственное отслеживание головы, контроллера, руки и пальца (на поддерживаемых платформах).
  • Более близкое взаимодействие с окружающей средой: в сочетании с возможностями более богатого ввода, VR повышает ожидания гораздо более близкого и физического взаимодействия с окружающей средой, чем типичные 3D игры и приложения. Пользователи ожидают, что они смогут поднимать вещи и взаимодействовать с объектами в окружающей среде. С отслеживанием головы камера может подойти гораздо ближе к стенам и другим границам окружающей среды и может даже пройти через них.
  • Проблемы с комфортом пользователя: многие люди испытывают боль от движения в VR, когда движение камеры не совпадает с движением их головы. Вы можете смягчить причины болей от движения, поддерживая высокую частоту кадров, предлагая широкий спектр вариантов передвижения, чтобы пользователи могли выбрать режим, который им удобно, и избегая перемещения камеры независимо от отслеживания движения головы пользователя.

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

Основные элементы сцены VR и MR

Базовая сцена VR или MR должна содержать XR Начало, которая определяет 3D Origin для отслеживания данных. Эта коллекция GameObjects и компонентов также содержит основную сцену Camera и GameObjects, представляющую контроллеры пользователя. См. Настройка сцены XR для инструкций по настройке базовой сцены VR.

Как правило, вам нужен способ для пользователя перемещаться и взаимодействовать с созданным вами миром 3D. Набор инструментов взаимодействия XR предоставляет компоненты для создания взаимодействий, таких как выбор и захватывание объектов. Он также предоставляет настраиваемую систему локомоции. Вы можете использовать Input System в дополнение к или вместо XR Набора инструментов взаимодействия.

VR пакета

Большинство функций и APIs, используемых для разработки VR в Unity, предоставляются через пакеты. Эти пакеты включают:

Плагины поставщика VR и MR

Платформы VR и MR доступны в качестве плагинов поставщика в системе XR Plug-in Management. Чтобы понять, как использовать систему XR Plug-in Management для добавления и включения плагинов поставщика для ваших целевых платформ, см. XR Project настройка.

В следующей таблице описаны плагины, доступные для разработки VR и MR, и поддерживаемые ими устройства:

Плагин MR/VR Поддерживаемые устройства
Apple visionOS XR Плагин MR и VR Apple Вижн Про
Плагин Oculus VR Oculus Rift, Meta Quest 2, Meta Quest 3, Meta Quest 3s, Meta Quest Pro
OpenXR MR и VR Устройства с OpenXR runtime включая устройства Meta Quest, Valve SteamVR, HoloLens
Unity OpenXR: Цель MR и VR Устройства Meta Quest
Unity OpenXR: Android XR MR и VR Android XR устройства
Unity OpenXR: Пространственные объекты MR OpenXR Средства выполнения, реализующие OpenXR Расширения пространственных объектов (Khronos)
PlayStation VR VR PlayStation VR и VR2. (Требуется регистрация разработчика Sony.)
Мок HMD VR Симулирует гарнитуру VR в режиме Unity Editor Play

Примечание: Многие производители гарнитур работают над использованием runtime OpenXR в качестве стандарта. Однако, этот процесс не является полным, и могут возникнуть расхождения в функциях между OpenXR и плагином поставщика производителя гарнитуры или SDK.

XR Набор инструментов взаимодействия

Набор инструментов XR Набор инструментов взаимодействия может облегчить и ускорить разработку приложений VR. Набор инструментов XR Interaction Toolkit предоставляет:

  • XR Начало, настроенный с контроллерами.
  • XR контроллер устанавливает с Input System предварительными настройками для основных взаимодействий, таких как select и grab.
  • Интерактивные и интерактивные компоненты для создания манипуляций с объектами.
  • Конфигурируемая двигательная система.
  • XR UI вход.

XR Основные средства

Пакет XR Основные средства содержит программные утилиты, используемые другими плагинами и пакетами Unity XR. Как правило, этот пакет устанавливается в вашем проекте как зависимость от других пакетов XR.

Input System

Пакет Unity Input System не только поддерживает доступ к вводу пользователя с VR кнопок контроллера и джойстиков, но также обеспечивает доступ к XR данных отслеживания и ощущений. Пакет Input System требуется, если вы используете XR Набор инструментов взаимодействия или OpenXR поставщика плагин.

Шаблоны VR и MR

Unity предоставляет шаблоны для разработки VR и MR. Эти шаблоны доступны из Unity Hub и предоставляют примерную сцену, предварительно настроенную с соответствующими пакетами и компонентами, чтобы начать разработку VR и MR.

Чтобы создать passthrough-сценарий, где пользователь видит реальный мир через камеры гарнитуры вместе с виртуальным контентом, используйте MR Шаблон или MR Настольный мультиплеер Шаблон. Эти шаблоны включают в себя AR Foundation, который обеспечивает поддержку проходных камер. VR Шаблон и VR Мультиплеер Шаблон создают полностью виртуальное окружение без поддержки сквозного видео.

Доступны следующие шаблоны VR и MR:

  • VR Шаблон
  • VR Мультиплеер Шаблон
  • MR Шаблон
  • MR Настольный мультиплеерный шаблон

Чтобы узнать больше о создании проекта XR из шаблона, см. Создание проекта XR.

Отслеживание движения руки

Отслеживание движения руки — это функция, которая позволяет пользователям взаимодействовать с приложением VR с помощью своих рук. Отслеживание движения руки поддерживается пакетом XR Руки.

Пакет Hands предоставляет:

  • Стандартная модель данных руки.
  • API для доступа к данным отслеживания рук.
  • Компонент XR Hand Skeleton Driver, который сопоставляет набор преобразований с их соответствующими суставами руки и обновляет эти преобразования по мере получения данных отслеживания.
  • Контроллер сетки XR Hand Mesh Controller, который включает и отключает сетку по мере получения или потери отслеживания руки.
  • Образец HandVisualizer, демонстрирующий, как использовать отслеживание движения руки API.

Дополнительные ресурсы

  • Создание опыта виртуальной и смешанной реальности в Unity (Электронная книга)
  • Создание многопользовательской игры VR, Часть 1 | Unity (YouTube)