Настройка нового проекта OpenXR с помощью MRTK

Самый простой способ настроить проект Unity для смешанной реальности — использовать набор средств Смешанная реальность (MRTK). MRTK для Unity — это кроссплатформенный пакет разработки с открытым кодом, предназначенный для упрощения создания удивительных приложений смешанной реальности.

Инфографика, показывающая некоторые функции набора средств Смешанная реальность.

MRTK предоставляет кросс-платформенную систему ввода, базовые компоненты и общие строительные блоки для пространственных взаимодействий. Это поможет ускорить разработку приложений для Microsoft HoloLens, Windows Mixed Reality иммерсивных гарнитур (VR) и многих других устройств виртуальной реальности и дополненной реальности. Проект направлен на снижение барьеров для входа, позволяя всем создавать приложения смешанной реальности и вносить свой вклад в сообщество по мере роста.

MRTK поддерживает широкий спектр платформ, в том числе:

  • Microsoft HoloLens;

  • Microsoft HoloLens 2;

  • гарнитуры смешанной реальности Windows Mixed Reality;

  • гарнитуры смешанной реальности OpenVR (HTC Vive / Oculus Rift);

  • отслеживание рук Ultraleap.

  • Устройства Android и iOS

Примечание

Недавно мы представили MRTK3, третье поколение Microsoft Смешанная реальность Toolkit for Unity, созданное на основе системы управления XR Unity и XR Interaction Toolkit, с улучшенной поддержкой различных устройств, совместимых с OpenXR, и новым языком дизайна. Дополнительные сведения см. в документации по MRTK3.

Примечание

Вы также можете настроить новый проект OpenXR без MRTK.

Другие параметры конфигурации, отличные от OpenXR, которые следует учитывать

Windows XR. Корпорация Майкрософт не рекомендует использовать подключаемый модуль Windows XR для новых проектов в Unity 2020. Вместо этого следует использовать подключаемый модуль Смешанная реальность OpenXR. Однако если вы используете Unity 2019 и вам требуется AR Foundation 2.0 для совместимости с устройствами ARCore/ARKit, этот подключаемый модуль обеспечивает такую поддержку.

Важно!

Использование этого подключаемого модуля в Unity 2019 несовместимо с Пространственными привязками Azure.

Устаревшая версия XR:

Если вы все еще используете Unity 2019 или более ранней версии, корпорация Майкрософт рекомендует использовать поддержку встроенного XR прежних версий. Хотя подключаемый модуль Windows XR работает в Unity 2019, мы не рекомендуем его использовать, так как он несовместим с Пространственными привязками Azure в Unity 2019.

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

Начало работы с OpenXR: создание проекта Unity

  1. Запустите Unity Hub.

  2. На вкладке Проекты щелкните Создать проект.

    Снимок экрана: Unity Hub на вкладке

  3. Щелкните раскрывающийся список Новый проект и выберите нужную версию редактора.

    Снимок экрана: Unity Hub с раскрывающимся списком версии редактора.

  4. Выбранный шаблон должен представлять собой 3D Core.

  5. В поле Имя проекта введите имя проекта, например, MRTK Tutorial.

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

    Снимок экрана Unity Hub, на котором выделены поля

  7. Нажмите кнопку Создать проект. Откроется проект в Unity.

    Снимок экрана: проект, открытый в Unity.

Внимание!

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

Установка целевого объекта сборки

  1. В строке меню выберите File>Build Settings... (Файл > Параметры сборки...).

    Чтобы создать приложение для Windows Mixed Reality, необходимо выбрать целевой объект сборки. Параметры сборки для универсальная платформа Windows (UWP) предназначены для любого устройства, включая иммерсивные гарнитуры, такие как HP Reverb G2. Это лучший выбор, если вы создаете HoloLens 2. Однако, если вы используете виртуальную реальность для настольных компьютеров, рекомендуется использовать автономную платформу PC, Mac & Linux.

  2. Выполните одно из следующих действий.

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

    • Сохраните автономную платформу PC, Mac & Linux , которая выбрана по умолчанию в новом проекте Unity:

    Снимок экрана: окно параметров сборки, открытое в редакторе Unity с выделенной платформой PC, Mac & автономной платформой

    Если вы используете HoloLens 2:

    • В разделе Платформа выберите универсальная платформа Windows. Убедитесь, что активны следующие параметры:

    Тип сборки: проект D3D.

    Целевая версия пакета SDK: последняя установленная версия.

    Минимальная версия платформы 10.0.10240.0.

    Версия Visual Studio: последняя установленная версия.

    Снимок экрана: окно параметров сборки, открытое в редакторе Unity с выделенным универсальная платформа Windows.

  3. Нажмите кнопку Сменить платформу. При смене платформы Unity отображает индикатор выполнения.

  4. По завершении процесса смены платформы закройте окно Параметры сборки.

Скачивание и установка средства Смешанная реальность Feature Tool

Подключаемый модуль OpenXR Смешанная реальность поставляется в виде пакета для Unity. Лучший способ обнаружения, обновления и импорта пакетов компонентов — Смешанная реальность Feature Tool. Вы можете искать пакеты по имени или категории, просматривать их зависимости и проверять предлагаемые изменения в файле манифеста проектов перед импортом.

  1. Скачайте последнюю версию Смешанная реальность Feature Tool из Центра загрузки Майкрософт.

  2. После завершения скачивания перейдите к исполняемому файлу MixedRealityFeatureTool.exe и используйте его для запуска средства Смешанная реальность компонентов.

    Снимок экрана: открытие MixedRealityFeatureTool.

Импорт пакетов Смешанная реальность Toolkit и OpenXR

  1. В Mixed Reality Feature Tool выберите Start.

    Снимок начального экрана в Mixed Reality Feature Tool.

  2. Нажмите кнопку обзора (это кнопка с трем точками на рисунке ниже), перейдите к проекту и откройте его.

    Открытие проекта

    Примечание

    Поле Путь к проекту в средстве должно содержать значение, поэтому по умолчанию вставляется обратная косая черта ("_").

    После выбора папки средство проверяет, является ли она допустимой папкой проекта Unity.

    Снимок экрана Project Path

  3. Выберите Discover Features (Обнаружение компонентов).

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

  4. На странице Discover Features обратите внимание на то, что имеется список из шести групп пакетов.

    Основные группы пакетов в Mixed Reality Feature Tool

  5. Нажмите кнопку "+" слева от Mixed Reality Toolkit (0 of 10), а затем выберите последнюю версию Mixed Reality Toolkit Foundation.

    Примечание

    Пакет Mixed Reality Toolkit Foundation является единственным пакетом, который необходимо импортировать и настроить, чтобы использовать MRTK в проекте. Этот пакет включает в себя основные компоненты для создания приложения смешанной реальности.

  6. Нажмите кнопку "+" слева от элемента Platform Support (0 of 5) и выберите последнюю версию Mixed Reality OpenXR Plugin.

    Снимок экрана: выбор пакетов в Mixed Reality Feature Tool.

  7. Выполнив выбор, щелкните Get Features (Получить компоненты).

  8. Выберите Validate (Проверить), чтобы проверить выбранные пакеты. Вы увидите диалоговое окно с текстом No validation issues were detected (Проблемы при проверке не обнаружены). После этого щелкните ОК.

  9. На странице Import Features (Импорт компонентов) в левом столбце в списке Components (Компоненты) отображаются только что выбранные пакеты. В правом столбце Required dependencies (Обязательные зависимости) нет ни одной зависимости. Чтобы узнать больше о них, щелкните ссылку Details (Сведения) для любого из этих элементов.

  10. Когда вы будете готовы продолжить, выберите Import (Импорт). На странице Review and Approve (Проверка и утверждение) можно просматреть сведения о пакетах.

  11. Выберите Approve (Утвердить).

  12. Вернитесь в редактор Unity и щелкните пустую область в пользовательском интерфейсе. Появится индикатор выполнения, показывающий, что выполняется импорт пакетов.

Настройка входных параметров серверной части

  1. После импорта пакета в Unity появится предупреждение с запросом на включение серверной части путем перезапуска редактора. Выберите ответ Да.

    Снимок экрана с параметром перезапуска Unity.

Настройка проекта для HoloLens 2 с помощью проверки проекта (MR OpenXR 1.6+)

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

  1. В строке меню щелкните Смешанная реальность > Параметры > проверки проекта HoloLens 2 приложение (UWP), чтобы включить правила проверки для HoloLens 2. Для подключаемых модулей Mr OpenXR до версии 1.9 доступен пункт меню Смешанная реальность > Project > Apply recommended project settings for HoloLens 2.
  2. В появившемся окне проверки проекта убедитесь, что вы находитесь на вкладке платформы UWP (обозначенной логотипом Windows), и нажмите кнопку Исправить все , чтобы устранить проблемы с проверкой. Обратите внимание, что могут возникнуть проблемы, которые остаются после нажатия кнопки Исправить все. В этом случае попробуйте снова нажать кнопку Исправить все , игнорировать все проблемы, помеченные как "сцены" (если таковые имеются), и просмотреть остальные проблемы (если таковые имеются), чтобы узнать, есть ли какие-либо предлагаемые изменения, которые вы хотите внести.
  3. На данный момент проект почти готов к развертыванию HoloLens 2. Перейдите к разделу Настройка параметров проигрывателя для следующего шага.

Настройка проекта для HoloLens 2 вручную

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

  1. Убедитесь, что окно Параметры проекта открыто. В противном случае в строке меню выберите Изменить>параметры проекта.

  2. В окне Параметры проекта убедитесь, что вы находитесь на странице Управление подключаемыми модулями XR и на вкладке универсальная платформа Windows.

    Снимок экрана: окно параметров проекта с открытой страницей управления подключаемым модулем XR и вкладкой универсальной платформы Windows.

  3. Убедитесь, что выбран параметр Инициализировать XR при запуске , а затем в разделе Поставщики подключаемых модулей щелкните OpenXR.

    Снимок экрана: окно параметров проекта в универсальная платформа Windows с выбранным параметром

  4. Подключаемый модуль OpenXR загружается, а затем под openXR отображаются несколько элементов. Выберите Microsoft HoloLens группу компонентов.

    Снимок экрана: окно параметров проекта с выделенным подключаемым модулем OpenXR и группой компонентов Microsoft HoloLens.

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

Настройка проекта для классической виртуальной реальности с помощью проверки проекта (MR OpenXR 1.9+)

  1. В строке меню щелкните Смешанная реальность > Параметры проверки > проекта Приложение Win32 (изолированное), чтобы включить правила проверки для классического приложения XR.
  2. В появившемся окне проверки проекта убедитесь, что вы находитесь на вкладке Автономная платформа, и нажмите кнопку Исправить все , чтобы устранить проблемы с проверкой. Обратите внимание, что могут возникнуть проблемы, которые остаются после нажатия кнопки Исправить все. В этом случае попробуйте снова нажать кнопку Исправить все , игнорировать все проблемы, помеченные как "сцены" (если таковые имеются), и просмотреть остальные проблемы (если таковые имеются), чтобы узнать, есть ли какие-либо предлагаемые изменения, которые вы хотите внести.

Настройка проекта для классической виртуальной реальности вручную

  1. Убедитесь, что окно Параметры проекта открыто. В противном случае перейдите в строку меню и выберите Изменить>параметры проекта.

  2. В окне Параметры проекта убедитесь, что вы находитесь на странице Управление подключаемым модулем XR и на вкладке Pc, Mac & Linux Standalone .

    Снимок экрана: окно параметров проекта, открытое на странице управления подключаемым модулем XR и на компьютере Mac & вкладке

  3. Убедитесь, что выбран параметр Инициализировать XR при запуске , а затем в разделе Поставщики подключаемых модулей щелкните OpenXR.

    Снимок экрана: окно параметров проекта на вкладке

  4. Загрузится подключаемый модуль OpenXR, а затем в разделе OpenXR появятся два элемента. Выберите первую группу компонентов Windows Mixed Reality.

    Снимок экрана: окно параметров проекта, где выделен подключаемый модуль OpenXR и группа компонентов Windows Mixed Reality.

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

Разрешение несовместимых параметров

Важно!

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

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

    Снимок экрана: предупреждение о несовместимых параметрах.

  2. В окне OpenXR Project Validation (Проверка проекта OpenXR) указано несколько проблем. Нажмите кнопку Fix All (Исправить все). ПРИМЕЧАНИЕ. Этот список может выглядеть по-разному в зависимости от того, на какой вкладке вы находитесь.

    Снимок экрана: кнопка Fix All (Исправить все) в окне проверки проекта OpenXR.

  3. Одна из проблем останется — необходимо добавить по крайней мере один профиль взаимодействия. Для этого щелкните Edit (Изменить). Откроется раздел параметров подключаемого модуля OpenXR в окне Project Settings (Параметры проекта).

    Снимок экрана: окно параметров проекта с отображаемыми параметрами OpenXR.

  4. В области Interaction Profiles (Профили взаимодействия) обратите внимание на кнопку со знаком "плюс" (+).

    Снимок экрана: кнопка Add Interaction Profile (Добавить профиль взаимодействия).

  5. Нажмите кнопку три раза, каждый раз выбирая другой профиль:

    Eye Gaze Interaction Profile (Профиль взаимодействия с помощью взгляда);

    Microsoft Hand Interaction Profile (Профиль взаимодействия с помощью рук Майкрософт);

    Microsoft Motion Controller Profile (Профиль контроллера движений Майкрософт).

    Снимок экрана: профили взаимодействия, которые следует добавить.

    Если рядом с Eye Gaze Interaction Profile или любым другим профилем появится желтый треугольник, выберите треугольник, а затем в окне OpenXR Project Validation нажмите кнопку Fix (Исправить). Завершив работу, закройте окно OpenXR Project Validation.

    Снимок экрана: кнопка Fix (Исправить) для профиля взаимодействия Eye Gaze.

  6. В окне Project Settings (Параметры проекта) в разделе OpenXR Feature Groups (Группы функций OpenXR) убедитесь, что выбраны следующие компоненты:

    Если вы находитесь на вкладке Виртуальной реальности для рабочего стола:

    Windows Mixed Reality

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

    Motion Controller Model (Модель контроллера движений)

    Снимок экрана: группы функций OpenXR для вкладки

    Если вы находитесь на вкладке универсальная платформа Windows:

    Microsoft HoloLens

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

    Motion Controller Model (Модель контроллера движений)

    Снимок экрана: выбранные компоненты для OpenXR.

  7. Щелкните раскрывающийся список Depth Submission Mode (Режим отправки глубины), а затем выберите Depth 16 Bit (Глубина 16 бит).

    Снимок экрана: выбранный режим глубины отправки

    Совет

    Уменьшение формата глубины до 16-разрядной версии не является обязательным, однако это может повысить производительность графики в проекте. Подробные сведения приведены в разделе Совместное использование буфера глубины (HoloLens).

    Примечание

    Параметр Render Mode (Режим рендеринга), находящийся непосредственно над параметром Depth Submission Mode, по умолчанию равен Single Pass Instanced (Один проход). В приложениях смешанной реальности сцена отображается дважды, один раз для каждого глаза. Результат — стереоскопичность. Это удваивает объем необходимых вычислений, поэтому важно выбрать наиболее эффективный путь отрисовки в Unity, чтобы сэкономить время ЦП и GPU. В этом случае лучшим вариантом является визуализация в один проход — рекомендуется включить ее по умолчанию для каждого проекта. Дополнительные сведения см. в документации по Unity.

Настройка параметров проигрывателя

  1. В левом столбце Project Settings (Параметры проекта) выберите Player (Проигрыватель).

  2. Обратите внимание, что в окне Проигрыватель поле Название продукта уже заполнено. Оно берется из имени проекта и будет отображаться в меню "Пуск" HoloLens.

    Снимок экрана: параметры публикации Unity с заполненным полем Project Name (Имя проекта).

    Совет

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

  3. Щелкните раскрывающийся список Параметры публикации , а затем в поле Имя пакета введите подходящее имя.

    Снимок экрана: параметры публикации Unity с заполненным именем пакета.

    Примечание

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

  4. Закройте окно Project Settings (Параметры проекта).

Теперь вы готовы приступить к разработке с помощью OpenXR в Unity!

Примеры проектов Unity

Ознакомьтесь с репозиторием примеров Смешанная реальность OpenXR для примеров проектов unity, демонстрируя, как создавать приложения Unity для HoloLens 2 или Смешанная реальность гарнитур с помощью подключаемого модуля Смешанная реальность OpenXR.

См. также раздел