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

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

Infographic showing some of the features of the Mixed Reality Toolkit.

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

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

  • Microsoft HoloLens;

  • Microsoft HoloLens 2;

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

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

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

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

Примечание

Начиная с MRTK3 мы представляем новый язык дизайна смешанной реальности для разработчиков. Дополнительные сведения см. в документации по MRTK3.

Примечание

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

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

Windows XR: Корпорация Майкрософт не рекомендует использовать подключаемый модуль 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 смешанной реальности.

Создание проекта Unity

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

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

    Screenshot of Unity Hub in Projects tab with the New Project button highlighted.

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

    Screenshot of Unity Hub with the Editor version drop-down displayed.

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

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

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

    Screenshot of Unity Hub with 3D, Project Name, Location, and Create highlighted.

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

    Screenshot of your project open in Unity.

Внимание!

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

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

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

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

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

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

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

    Screenshot of Build Settings window open in the unity editor with PC, Mac & Standalone platform highlighted

    Если вы нацелены на HoloLens 2, выполните следующие действия.

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

    Целевое устройство: HoloLens.

    Архитектура: ARM64.

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

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

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

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

    Сборка и запуск: локальный компьютер.

    Конфигурация сборки: выпуск (при выборе значения "Отладка" возникают известные проблемы с производительностью).

    Screenshot of Build Settings window open in the unity editor with Universal Windows Platform highlighted.

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

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

Скачивание и установка средства функции смешанной реальности

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

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

  2. Когда скачивание завершится, распакуйте файл и сохраните его на рабочем столе.

    Примечание

    Перед запуском средства Mixed Reality Feature Tool установите среду выполнения .NET 5.0.

  3. В папке, куда будет распакован архив, перейдите к исполняемому файлу MixedRealityFeatureTool.exe и используйте его для запуска Mixed Reality Feature Tool.

    Screenshot of Opening MixedRealityFeatureTool.

Импорт набора средств смешанной реальности и пакетов OpenXR

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

    Screenshot of the Mixed Reality Feature Tool opening screen.

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

    Open your project

    Примечание

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

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

    Screenshot of the Mixed Reality feature Tool Project Path screen.

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

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

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

    The main groups of packages in the 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.

    Screenshot of package selections in the 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 и щелкните пустую область в пользовательском интерфейсе. Появится индикатор выполнения, показывающий, что выполняется импорт пакетов.

Настройка параметров OpenXR

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

    Screenshot of Unity Restart Option.

  2. После повторного открытия Unity должен появиться конфигуратор проекта MRTK. Если редактор не перезапустится, откройте его вручную, выбрав Mixed Reality>Toolkit>Utilities>Configure Project for MRTK:

    Screenshot of the menu bar command for opening the MRTK Configurator.

  3. Выберите Unity OpenXR Plugin, чтобы включить XR Plugin Management и добавить подключаемый пакет Unity OpenXR в проект.

    Screenshot of MRTK project configurator window with OpenXR selected.

  4. Откроется проверка проекта OpenXR . Вы можете игнорировать это на данный момент.

  5. На экране Welcome to MRTK! (Добро пожаловать в MRTK!) выберите Show XR Plug-In Management Settings (Показать параметры управления подключаемым модулем XR).

    Screenshot of the Show XR Plug-In Management Settings button.

    Откроется окно "Параметры проекта ".

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

Если вы разрабатываете для HoloLens2, пропустите этот раздел и перейдите к следующему , настройте проект для HoloLens 2.

  1. В окне " Параметры проекта " убедитесь, что вы находитесь на странице управления подключаемым модулем XR и на вкладке " Автономный компьютер Mac & Linux ".

    Screenshot of the Project Settings Window open to the XR Plugin Management Page and PC, Mac & Linux Standalone tab.

  2. Убедитесь, что установлен флажок Initialize XR on Startup (Инициализировать XR при запуске), а затем в разделе Plugin Providers (Поставщики подключаемых модулей) нажмите Open XR (Открыть XR).

    Screenshot of the Project Settings Window, inside the PC, Mac & Linux Standalone tab, with Initialize XR on Startup selected and the OpenXR Plugin highlighted.

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

    Screenshot of Project Settings Window the OpenXR Plugin and Windows Mixed Reality feature group highlighted.

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

Настройка проекта для HoloLens 2

  1. В окне " Параметры проекта " убедитесь, что вы находитесь на странице управления подключаемым модулем XR с выбранным параметром универсальной платформы Windows (вкладка логотипа Windows).

    Screenshot of the Project Settings Window open to the XR Plugin Management Page and Universal Windows Platform tab.

  2. Убедитесь, что установлен флажок Initialize XR on Startup (Инициализировать XR при запуске), а затем в разделе Plugin Providers (Поставщики подключаемых модулей) нажмите Open XR (Открыть XR).

    Screenshot of Project Settings Window 3.

  3. Под OpenXR отображаются два элемента. Выберите первый из них — группу функций Microsoft HoloLens.

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

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

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

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

    Screenshot of warning about incompatible settings.

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

    Screenshot of the Fix All button in the OpenXR Project Validation window.

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

    Screenshot of the Project Settings window with the OpenXR settings displayed.

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

    Screenshot of the Add Interaction Profile button.

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

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

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

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

    Screenshot of interaction profiles that should be added.

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

    Screenshot of the Fix button for the Eye Gaze interaction profile.

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

    Microsoft HoloLens

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

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

    Screenshot of selected features for OpenXR.

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

    Screenshot of Depth 16 Bit selected for Depth Submission Mode.

    Совет

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

    Примечание

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

  8. Закройте окно конфигуратора проекта MRTK .

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

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

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

    Screenshot of Unity Publishing Settings with the Project Name box filled in.

    Совет

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

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

    Screenshot of Unity Publishing Settings with the package name box filled in.

    Примечание

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

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

Optimization

Если вы разрабатываете для HoloLens 2, в строке меню выберите рекомендуемые параметры проекта смешанной реальности >> для HoloLens 2 , чтобы повысить производительность приложения.

Screenshot of the mixed reality menu item open with OpenXR selected

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

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

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

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