Настройка проекта без МРТКConfiguring your project without MRTK

Windows Mixed Reality (ВМР) — это платформа Майкрософт, представленная в составе операционной системы Windows 10.Windows Mixed Reality (WMR) is a Microsoft platform introduced as part of the Windows 10 operating system. Платформа ВМР позволяет создавать приложения, отображающие цифровое содержимое на устройствах с дисплеем holographic и VR.The WMR platform lets you build applications that render digital content on holographic and VR display devices.

Хотя корпорация Майкрософт и сообщество создали средства конвертер, такие как набор средств для смешанной реальности (мртк) , который автоматически настраивает среду ВМР, многие разработчики хотят создавать свои впечатления с нуля.While Microsoft and the community have created opensource tools such as the Mixed Reality Toolkit (MRTK) that will automatically set up the WMR environment, many developers wish to build their experiences from the ground up. В следующей документации показано, как правильно настроить проект для разработки смешанной реальности независимо от того, используется ли МРТК.The following documentation will demonstrate how to properly set up a project for Mixed Reality development whether you are using MRTK or not. Параметры, которые необходимо изменить, разбиваются на две категории: параметры для каждого проекта и параметры на сцене.The settings you need to change are broken down into two categories: per-project settings and per-scene settings.

Примечание

Вы всегда можете импортировать МРТК позже, так что нет никаких штрафов на предварительный маршрут вручную.You can always import MRTK later on, so there's no penalty for going the manual route first.

Если выбрать настройку ВМР вручную, то параметры, которые необходимо изменить, разбиваются на две категории: на проект и на сцену.If you choose the WMR manual setup, the settings you need to change are broken-down into two categories: per-project and per-scene.

Параметры отдельных проектовPer-project settings

Если вы нацелены на Desktop VR, мы рекомендуем использовать отдельную платформу ПК, выбранную по умолчанию, в новом проекте Unity:If you're targeting Desktop VR, we suggest using the PC Standalone Platform selected by default on a new Unity project:

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

Если вы намерены ориентироваться на HoloLens 2, необходимо переключиться на универсальная платформа Windows:If you're targeting HoloLens 2, you need to switch to the Universal Windows Platform:

  1. Выберите файл > параметры сборки...Select File > Build Settings...
  2. Выберите универсальная платформа Windows в списке Платформа и выберите параметр платформа .Select Universal Windows Platform in the Platform list and select Switch Platform
  3. Установка архитектуры ARM 64Set Architecture to ARM 64
  4. Задать целевое устройство в HoloLensSet Target device to HoloLens
  5. Задать для типа сборки D3DSet Build Type to D3D
  6. Установить последнюю версию пакета SDK для UWPSet UWP SDK to Latest installed
  7. Задать для конфигурации сборки значение Release , так как имеются известные проблемы с производительностью при отладкеSet Build configuration to Release because there are known performance issues with Debug

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

После настройки платформы необходимо разрешить Unity создавать иммерсивное представление вместо 2D-представления при экспорте.After setting your platform, you need to let Unity know to create an immersive view instead of a 2D view when exported.

Для КСРСДКFor XRSDK

  1. В редакторе Unity перейдите к разделу правка > параметры проекта и выберите Управление подключаемым модулем XR .In the Unity Editor, navigate to Edit > Project settings and select XR Plugin Management

  2. Выберите установить управление подключаемым модулем XR .Select Install XR Plugin Management

Снимок экрана: окно "Параметры проекта" открыто в редакторе Unity с выделенным управлением подключаемым модулем XR

  1. Выберите инициализировать XR при запуске и Windows Mixed RealitySelect Initialize XR on Startup and Windows Mixed Reality

Снимок экрана: окно "Параметры проекта" открыто в редакторе Unity с выделенным управлением подключаемым модулем XR

  1. Разверните раздел Управление подключаемым модулем XR и выберите Windows Mixed Reality .Expand the XR Plug-in Management section and select Windows Mixed Reality
  2. Установите флажок все флажки и задайте для параметра режим отправки глубины значение глубиной 16 бит .Check all boxes and set Depth Submission Mode to Depth 16 Bit

Снимок экрана: окно "Параметры проекта" открыто в редакторе Unity с выделенным разделом Windows Mixed Reality

Для устаревших XRFor Legacy XR

Внимание!

Устаревший XR является устаревшим в Unity 2019 и удален в Unity 2020.Legacy XR is deprecated in Unity 2019 and removed in Unity 2020.

  1. Открыть Параметры проигрывателя... из параметров сборки... и разверните группу параметров XROpen Player Settings... from the Build Settings... window and expand the XR Settings group
  2. В разделе Параметры XR выберите Виртуальная реальность поддержка , чтобы добавить список устройств виртуальной реальности.In the XR Settings section, select Virtual Reality Supported to add the Virtual Reality Devices list
  3. Установка 16-разрядного формата глубины и включение общего доступа к буферу глубиныSet Depth Format to 16-bit Depth and enable Depth Buffer Sharing
  4. Задать режим отображения стерео для одного экземпляра PassSet Stereo Rendering Mode to Single Pass Instance
  5. Выберите WSA holographic Remoting поддерживается , если вы хотите использовать удаленное взаимодействие с holographicSelect WSA Holographic Remoting Supported if you'd like to use Holographic remoting

Снимок экрана: окно "Параметры проекта" открыто в редакторе Unity с выделенным разделом параметров проигрывателя

Обновление манифестаUpdating the manifest

Теперь приложение может работать с более holographic, а также с пространственными входными данными.Your app can now handle holographic rendering and spatial input. Однако приложению необходимо объявить соответствующие возможности в своем манифесте, чтобы воспользоваться преимуществами определенных функциональных возможностей.However, your app needs to declare the appropriate capabilities in its manifest to take advantage of certain functionality. Чтобы найти возможности проектов, перейдите в Параметры проигрывателя > параметры для универсальная платформа Windows > параметры публикации > возможности.You can find your projects capabilities by going to Player Settings > Settings for Universal Windows Platform > Publishing Settings > Capabilities.

Рекомендуется сделать объявления манифеста в Unity, чтобы включить их во все будущие проекты, которые вы экспортируете.It's recommended that you make the manifest declarations in Unity to include them in all future projects that you export. Ниже перечислены применимые возможности для включения часто используемых интерфейсов API Unity для смешанной реальности.The applicable capabilities for enabling commonly used Unity APIs for Mixed Reality are:

ФункцияCapability API, которым требуются возможностиAPIs requiring capability
SpatialPerception;SpatialPerception Сурфацеобсервер (доступ к сеткам пространственных сопоставлений в HoloLens) — не требуется никаких возможностей для общего пространственного отслеживания гарнитурыSurfaceObserver (access to spatial mapping meshes on HoloLens)—No capability needed for general spatial tracking of the headset
БеседWebCam Фотозапись и ВидеокаптуреPhotoCapture and VideoCapture
Пиктуреслибрари/ВидеослибрариPicturesLibrary / VideosLibrary Фотозахват или Видеокаптуре, соответственно (при сохранении захваченного содержимого);PhotoCapture or VideoCapture, respectively (when storing the captured content)
микрофонMicrophone Видеокаптуре (при записи звука), Диктатионрекогнизер, Граммаррекогнизер и КэйвордрекогнизерVideoCapture (when capturing audio), DictationRecognizer, GrammarRecognizer, and KeywordRecognizer
InternetClientInternetClient Диктатионрекогнизер (и использование профилировщика Unity)DictationRecognizer (and to use the Unity Profiler)

Параметры качестваQuality settings

HoloLens имеет графический процессор класса для мобильных устройств.HoloLens has a mobile-class GPU. Если ваше приложение предназначено для HoloLens, для обеспечения максимальной производительности необходимо, чтобы параметры качества в приложении были настроены на максимальную производительность.If your app is targeting HoloLens, you'll want the quality settings in your app tuned for fastest performance to ensure it maintains full frame-rate:

  1. Выберите изменить > параметры проекта > качествоSelect Edit > Project Settings > Quality
  2. Выберите раскрывающийся список в эмблеме магазина Windows и выберите очень низкий.Select the dropdown under the Windows Store logo and select Very Low. Вы узнаете, что параметр применяется правильно, если ячейка в столбце магазина Windows и очень низкая строка имеет значение зеленый.You'll know the setting is applied correctly when the box in the Windows Store column and Very Low row is green
  3. В разделе Shadows (тени ) выберите Disable Shadows (отключить тени ).In the Shadows section, select Disable Shadows

Снимок экрана: окно "Параметры проекта" открыто в редакторе Unity с выделенным разделом параметров качестваScreenshot of Project settings window open in unity editor with quality settings section highlighted
Параметры качества UnityUnity quality settings

Параметры на сценеPer-scene settings

Параметры камеры UnityUnity camera settings

Если установлен флажок с поддержкой Virtual Reality , компонент камеры Unity обрабатывает Отслеживание Head и отрисовку стереоскопик.With Virtual Reality Supported checked, the Unity Camera component handles head tracking and stereoscopic rendering. Это означает, что вам не нужно заменять основной объект Camera на пользовательскую камеру.That means there's no need for you to replace the Main Camera object with a custom camera.

Если приложение предназначено для HoloLens в частности, необходимо изменить несколько параметров, чтобы оптимизировать отображение прозрачных экранов устройства.If your app is targeting HoloLens specifically, you need to change a few settings to optimize for the device's transparent displays. Эти параметры позволяют пропускать все, что можно сделать в отношении физического мира:These settings allow your holographic content to show through to the physical world:

  1. В иерархии выберите основную камеру .In the Hierarchy, select the Main Camera
  2. На панели инспектора задайте для параметра положение преобразования значение 0, 0, 0, чтобы расположение заголовка пользователя начиналось в точке мира Unity.In the Inspector panel, set the transform position to 0, 0, 0 so the location of the user's head starts at the Unity world origin.
  3. Замените clear flags на сплошной цвет.Change Clear Flags to Solid Color.
  4. Измените цвет фона на RGBA 0, 0, 0, 0.Change the Background color to RGBA 0,0,0,0. Черный цвет отображается как прозрачный в HoloLens.Black renders as transparent in HoloLens.
  5. Изменение обтравочных плоскостей — приближается к HoloLens, рекомендуемому 0,85 (метрах).Change Clipping Planes - Near to the HoloLens recommended 0.85 (meters).

Снимок экрана: вкладка инспектора открыта в редакторе UnityScreenshot of the inspector tab open in the Unity editor
Параметры камеры UnityUnity camera settings

Важно!

Если вы удалите и создадите новую камеру, убедитесь, что новая камера помечена как маинкамера.If you delete and create a new camera, make sure your new camera is tagged as MainCamera.

Дальнейшие действияNext steps

Теперь, когда проект готов, вы можете приступить к разработке среды смешанной реальности:Now that your project is ready, you can start developing your Mixed Reality experience:

См. также статьюSee also