2. Инициализация проекта и развертывание первого приложения2. Initializing your project and deploying your first application

Из этого учебника вы узнаете, как создать проект Unity, настроить его для разработки набора средств для смешанной реальности (MRTK) и импортировать MRTK.In this tutorial, you'll learn how to create a new Unity project, configure it for Mixed Reality Toolkit (MRTK) development, and import MRTK. Вы также узнаете, как настроить, создать и развернуть базовую сцену Unity из Visual Studio на HoloLens 2.You'll also walk through configuring, building, and deploying a basic Unity scene from Visual Studio to your HoloLens 2. Развернув ее на HoloLens 2, вы увидите, как виртуальная сетка сопоставления покрывает поверхности, воспринятые HoloLens.Once you have deployed it to your HoloLens 2, you should see a spatial mapping mesh covering the surfaces that are perceived by the HoloLens. Кроме того, вы увидите на руках и пальцах индикаторы для отслеживания рук и счетчик частоты кадров для отслеживания производительности приложения.Additionally, you should see indicators on your hands and fingers for hand tracking and a frame rate counter for keeping an eye on app performance.

ЗадачиObjectives

  • Узнайте, как настроить Unity для разработки HoloLens.Learn how to configure Unity for HoloLens development.
  • Узнайте, как создать и развернуть приложение в HoloLens.Learn how to build and deploy your app to HoloLens.
  • Изучите возможности сетки пространственного сканирования, виртуальных рук и счетчика частоты кадров на устройстве HoloLens 2.Experience the spatial mapping mesh, hand meshes, and framerate counter on your HoloLens 2 device.

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

  1. Запустите Unity Hub, откройте вкладку Projects (Проекты), а затем щелкните стрелку вниз рядом с кнопкой New (Создать):Launch Unity Hub, select the Projects tab, and then click the down arrow next to the New button:

Unity Hub с выделенной стрелкой вниз для кнопки "Создать"

  1. В раскрывающемся списке выберите версию Unity, указанную в разделе с предварительными требованиями.In the dropdown menu, select the Unity version specified in the Prerequisites:

Выбор версии Unity

Совет

Если конкретная версия Unity недоступна в Unity Hub, можно запустить установку из архива загрузок Unity.If the particular Unity version is not available in Unity Hub, you can initiate the installation from Unity's Download Archive.

  1. В окне Create a new project (Создание нового проекта) сделайте следующее:In the Create a new project window, do the following:

    • Убедитесь, что для параметра Templates (Шаблоны) задано значение 3D.Ensure Templates is set to 3D.
    • В поле Project Name (Имя проекта) введите подходящее имя для проекта (например, "MRTK Tutorials").In the Project Name box, enter a suitable name for your project (for example, "MRTK Tutorials").
    • Нажмите кнопку с тремя точками рядом с элементом Location (Расположение), а затем перейдите к папке, в которой нужно сохранить проект.Click the three-dot button next to Location, and then navigate to the folder where you want to save your project.

Внимание!

В Windows для переменной MAX_PATH есть ограничение в 255 символов.When working on Windows, there is a MAX_PATH limit of 255 characters. Поэтому проект Unity желательно сохранять ближе к корневому каталогу диска.Because of this, you should save the Unity project close to the root of the drive.

* <span data-ttu-id="761aa-125">Нажмите кнопку **Создать** .</span><span class="sxs-lookup"><span data-stu-id="761aa-125">Click the **Create** button.</span></span> <span data-ttu-id="761aa-126">Будет создан и запущен новый проект Unity.</span><span class="sxs-lookup"><span data-stu-id="761aa-126">This creates and launches your new Unity project.</span></span>

Unity Hub с указанными значениями в окне "Create a new project" (Создание нового проекта)

Строка состояния позволяет отслеживать ход выполнения.The status bar keeps you updated on your progress.

Индикатор выполнения Unity постоянно информирует вас о состоянии процесса создания проекта

Переключение платформы сборкиSwitching the build platform

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

Выбор параметров сборки Unity в меню

  1. В окне Build Settings (Параметры сборки) щелкните Universal Windows Platform (Универсальная платформа Windows) и нажмите кнопку Switch Platform (Переключить платформу).In the Build Settings window, select Universal Windows Platform and then click the Switch Platform button:

Окно параметров сборки в Unity с выбранной платформой UWP

  1. Дождитесь, пока Unity завершит переключение платформы, а затем закройте окно Build Settings (Параметры сборки).Wait for Unity to finish switching the platform, and then close the Build Settings window.

Импорт требуемых ресурсов TextMeshProImporting the TextMeshPro Essential Resources

Ресурсы TextMeshPro требуются для элементов пользовательского интерфейса MRTK.The TextMeshPro Essential Resources are required by MRTK's UI elements. Этот шаг можно пропустить, если вы не намерены использовать элементы пользовательского интерфейса MRTK в проекте.If you are not planning to use MRTK's UI elements in your project, you can skip this step.

  1. На панели меню щелкните Window > TextMeshPro > Import TMP Essential Resources (Окно > TextMeshPro > Импорт требуемых ресурсов TMP):On the menu bar, select Window > TextMeshPro > Import TMP Essential Resources.

Выбор Import TMP Essential Resources (Импорт требуемых ресурсов TMP) в меню

  1. В окне Import Unity Package (Импорт пакета Unity) нажмите кнопку All (Все), чтобы выбрать все ресурсы, а затем нажмите кнопку Import (Импорт), чтобы импортировать их:In the Import Unity Package window, click the All button to ensure that all the assets are selected, and then click the Import button to import the assets:

Окно импорта требуемых ресурсов TMP в Unity

Импорт набора средств для смешанной реальности (MRTK)Importing the Mixed Reality Toolkit

  1. Скачайте пользовательский пакет Unity:Download the Unity custom package:

    Microsoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackageMicrosoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackage

  2. В строке меню щелкните Assets > Import Package > Custom Package... (Активы > Импортировать пакеты > Пользовательский пакет...).On the menu bar, select Assets > Import Package > Custom Package....

  3. В диалоговом окне Import package... (Импорт пакета...) перейдите к расположению только что скачанного пакета, выберите его и нажмите кнопку Open (Открыть).In the Import package... dialog, navigate to the location of the package you just downloaded, then select it, and then click the Open button.

  4. В окне Import Unity Package (Импорт пакета Unity) нажмите кнопку All (Все), чтобы выбрать все ресурсы, а затем нажмите кнопку Import (Импорт), чтобы импортировать их.In the Import Unity Package window, click the All button to ensure that all the assets are selected, and then click the Import button to import the assets.

Выбор MRTK и параметров проектаSelecting MRTK and project settings

Когда Unity завершит импорт пакета из предыдущего раздела, должно отобразиться окно MRTK Project Configurator (Конфигуратор проекта MRTK).After Unity has finished importing the package from the previous section, the MRTK Project Configurator window should appear. В противном случае откройте это окно вручную, щелкнув Mixed Reality Toolkit > Utilities > Configure Unity Project (Набор средств для Смешанной реальности > Служебные программы > Настроить проект Unity).If it doesn't, you can manually open it by going to Mixed Reality Toolkit > Utilities > Configure Unity Project:

Выбор пункта Configure Unity Project (Настройка проекта Unity) в меню Unity

  1. Если потребуется, в окне MRTK Project Configurator (Конфигуратор проекта MRTK) разверните раздел Modify Configurations (Изменение конфигураций) и убедитесь, что выбраны все параметры.In the MRTK Project Configurator window, expand the Modify Configurations section, if necessary, and then ensure that all options are selected.

Окно конфигуратора проекта MRTK, где отображается раздел Modify Configurations (Изменение конфигураций)

  1. Чтобы применить параметры, нажмите кнопку Apply (Применить).To apply the settings, click the Apply button.

Кнопка Apply (Применить) в MRTK

Примечание

Вы используете встроенные устаревшие возможности смешанной реальности в Unity, а не новую систему подключаемого модуля смешанной реальности, так как новая система не обеспечивает полную совместимость с рекомендуемыми версиями Unity и MRTK, которые используются при работе с этой серией руководств.You are using Unity's built-in legacy XR instead of the new XR Plugin System because the new system is not fully compatible with the recommended Unity and MRTK versions for this tutorial series. Если поступят предупреждения об устаревании встроенных средств XR, их можно игнорировать.If you see any warnings about built-in XR being deprecated, you can ignore them.

Совет

Применять параметры MRTK по умолчанию необязательно, но настоятельно рекомендуется, так как это поможет настроить некоторые рекомендуемые параметры Unity:Applying the MRTK Default Settings is optional but strongly recommended as it will help configure some recommended Unity settings:

  • Enable legacy XR (Включить традиционные возможности смешанной реальности): позволяет включить возможности виртуальной реальности для этого проекта.Enable legacy XR: Enables VR for the project.
  • Set Single Pass Instanced rendering path (Задать путь однопроходной отрисовки экземпляра.): повышает производительность графики благодаря выполнению конвейера отрисовки для обоих глаз в одном вызове отрисовки.Set Single Pass Instanced rendering path: Improves graphics performance by executing the render pipeline for both eyes in the same draw call. Дополнительные сведения см. в разделе Однопроходная отрисовка экземпляра в документации по производительности MRTK.To learn more about this topic, you can refer to the Single-Pass Instanced rendering section of MRTK's Performance documentation.
  • Set default Spatial Awareness layer (Задать слой отслеживания пространственного положения по умолчанию): создает слой Unity с именем Spatial Awareness и настраивает MRTK для использования этого слоя для сетки отслеживания пространственного положения.Set default Spatial Awareness layer: Creates a Unity Layer named Spatial Awareness and configures MRTK to use this layer for the spatial awareness mesh. Дополнительные сведения о слоях Unity см. в документации Unity Customizing Your Workspace (Настройка рабочего пространства).To learn more about Unity Layers, you can refer to Unity's Customizing Your Workspace documentation.
  1. В строке меню выберите Edit > Project Settings... (Правка > Параметры проекта...).On the menu bar, select Edit > Project Settings... .

  2. В окне Project Settings (Параметры проекта) выберите элемент Player (Воспроизведение), затем откройте раскрывающийся список XR Settings (Параметры XR) и установите флажок рядом с параметром Virtual Reality Supported (Поддержка виртуальной реальности):In the Project Settings window, select Player, then click the XR Settings dropdown, and then select the box next to Virtual Reality Supported:

Параметры XR в Unity, где отображается флажок Virtual Reality Supported (Поддержка виртуальной реальности)

Это действие позволяет импортировать пакет SDK для Windows Mixed Reality:This imports the Windows Mixed Reality SDK:

Параметры XR в Unity, где отображаются пакеты SDK для виртуальной реальности

Когда Unity завершит импорт пакета SDK для Windows Mixed Reality, должно снова отобразиться окно MRTK Project Configurator (Конфигуратор проекта MRTK).After Unity has finished importing the Windows Mixed Reality SDK, the MRTK Project Configurator window should appear again. Если окно не отображается, откройте его вручную. Для этого выберите элементы Mixed Reality Toolkit > Utilities > Configure Unity Project (Набор средств смешанной реальности > Средства > Настройка проекта Unity).If it doesn't, select Mixed Reality Toolkit > Utilities > Configure Unity Project to open it.

  1. В окне MRTK Project Configurator (Конфигуратор проекта MRTK) щелкните раскрывающийся список Audio spatializer (Аудиоспатиалайзер) и выберите вариант MS HRTF Spatializer (Спатиалайзер MS HRTF).In the MRTK Project Configurator window, click the Audio spatializer dropdown, and then select MS HRTF Spatializer.

Параметры проекта, где отображаются варианты аудиоспатиалайзера

  1. Нажмите кнопку Применить.Click the Apply button. Окно MRTK Project Configurator (Конфигурация проекта MRTK) будет закрыто.This closes the MRTK Project Configurator window.

    Совет

    Настраивать свойство аудиоспатиалайзера необязательно, но это может упростить работу со звуком в проекте.Setting the Audio spatializer property is optional but may improve the audio experience in your project. Если задать для свойства значение MS HRTF Spatializer (Спатиалайзер MS HRTF), этот подключаемый модуль спатиалайзера будет использоваться при включенном свойстве AudioSource.spatialize в Unity.If you set it to MS HRTF Spatializer, this spatializer plugin will be used when Unity's AudioSource.spatialize property is enabled. Дополнительные сведения см. в руководствах по пространственному звуку.To learn more about this topic, you can refer to the Spatial audio tutorials.

  2. В окне Project Settings (Параметры проекта) щелкните раскрывающийся список Depth Format (Формат глубины) и выберите вариант 16-bit depth (16-битная глубина).In the Project Settings window, click the Depth Format dropdown, and then select 16-bit depth:

    Параметры XR в Unity с выбранной 16-битной глубиной.

    Совет

    Уменьшать разрядность глубины до 16 битов необязательно, но это может улучшить производительность графики в проекте.Reducing the Depth Format to 16-bit is optional but may help improve graphics performance in your project. Дополнительные сведения см. в разделе Depth buffer sharing (HoloLens) (Совместное использование буфера глубины в HoloLens) в документации по производительности MRTK.To learn more about this topic, you can refer to the Depth buffer sharing (HoloLens) section of MRTK's Performance documentation.

  3. Щелкните раскрывающийся список Publishing Settings (Параметры публикации), а затем в поле Package name (Имя пакета) введите подходящее имя (например, "MRTK-Tutorials-Getting-Started").Click the Publishing Settings drop-down, and then in the Package name box, enter a suitable name (for example, "MRTK-Tutorials-Getting-Started").

    Параметры публикации Unity с настроенным именем пакета

    Имя пакета и название продуктаPackage Name and Product Name

    • Package name (Имя пакета) — это уникальный идентификатор приложения.The 'Package name' is the unique identifier for the app. Создайте этот идентификатор перед развертыванием приложения, чтобы избежать перезаписи установленных ранее приложений.You should create this identifier before deploying the app to avoid overwriting previously installed apps.
    • Product Name (Название продукта) — это имя, отображаемое в меню запуска HoloLens.The 'Product Name' is the name displayed in the HoloLens Start menu. Чтобы упростить размещение приложения во время разработки, можно добавить перед именем символ подчеркивания, чтобы при сортировке это имя оказывалось вверху.To make the app easier to locate during development, you can add an underscore in front of the name to sort it to the top.

    Параметры проекта Unity с настроенным именем продукта.

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

Создание и настройка сценыCreating and configuring the scene

  1. В строке меню выберите элементы File > New Scene (Файл > Новая сцена).On the menu bar, select File > New Scene.

  2. Чтобы добавить MRTK в текущую сцену, в строке меню щелкните элемент Mixed Reality Toolkit > Add to Scene and Configure (Набор средств для смешанной реальности >Добавить в сцену и настроить).To add the MRTK to the scene, on the menu bar, select Mixed Reality Toolkit > Add to Scene and Configure....

    Путь в меню Unity &quot;Add to Scene and Configure...&quot; (Добавить в сцену и настроить)

  3. Убедитесь, что в окне Hierarchy (Иерархия) выбран элемент MixedRealityToolkit.In the Hierarchy window, ensure that MixedRealityToolkit is selected.

    Убедитесь, что выбран элемент MixedRealityTookit.

  4. В окне Inspector (Инспектор), в разделе MixedRealityToolkit проверьте, установлен ли профиль конфигурации DefaultMixedRealityToolkitConfigurationProfile.In the Inspector window's MixedRealityToolkit section, verify that the configuration profile is set to DefaultMixedRealityToolkitConfigurationProfile:

    Компонент MixedRealityToolkit в Unity с выбранным профилем DefaultMixedRealityTookitConfigurationProfile

    Важно!

    Как правило, при разработке для HoloLens используется DefaultHoloLens2ConfigurationProfile.Typically, you will use the DefaultHoloLens2ConfigurationProfile when developing for HoloLens. Но для работы с этим руководством вы будете использовать DefaultMixedRealityToolkitConfigurationProfile.However, for this tutorial, you will use the DefaultMixedRealityToolkitConfigurationProfile. В следующем руководстве Настройка профилей MRTK вы измените это значение на DefaultHoloLens2ConfigurationProfile.In the next tutorial, Configuring the MRTK profiles, you will change to the DefaultHoloLens2ConfigurationProfile.

  5. В строке меню выберите File > Save As... (Файл > Сохранить как).On the menu bar, select File > Save As...

  6. В диалоговом окне Save Scene (Сохранение сцены) перейдите к папке проекта Scenes.In the Save Scene dialog, navigate to your project's Scenes folder. В поле File name (Имя файла) укажите подходящее имя сцены (например, _GettingStarted_) и нажмите кнопку Save (Сохранить).In the File name box, give your scene a suitable name (for example, "_GettingStarted_"), and then click the Save button.

    Окно Unity с запросом на сохранение сцены .

Сборка и развертывание для HoloLens 2Building and deploying to your HoloLens 2

Перед сборкой для устройства убедитесь, что выполняются следующие условия:Before building to your device, confirm the following:

  • Устройство находится в режиме разработчика.Your device is in Developer Mode.
  • Устройство связано с компьютером разработки.Your device is paired with your development computer. Если это не так, в процессе сборки в Visual Studio отобразится следующее диалоговое окно:If it's not, you will see the following dialog box in Visual Studio during the build process:

Ввод ПИН-кода для связывания устройств

Дополнительные сведения об этих действиях см. в статье Развертывание и отладка с помощью Visual Studio.To learn more about both of these steps, see Using Visual Studio to deploy and debug.

  1. В строке меню выберите File > Build Settings... (Файл > Параметры сборки...).On the menu bar, select File > Build Settings....
  2. В окне Build Settings (Параметры сборки) нажмите кнопку Add Open Scenes (Добавить открытые сцены), чтобы добавить текущую сцену в список Scenes In Build (Сцены в сборке).In the Build Settings window, click the Add Open Scenes button to add your current scene to the Scenes In Build list.

Добавление текущей сцены в список Scenes In Build (Сцены в сборке)

  1. Нажмите кнопку Сборка.Click the Build button.

    Нажмите кнопку Сборка.

  2. В диалоговом окне Build Universal Windows Platform (Сборка для универсальной платформы Windows) выберите подходящее расположение для хранения сборки (например, создайте подпапку Builds в папке "MRTK Tutorials").In the Build Universal Windows Platform dialog, choose a suitable location to store your build (for example, you may want to create a "Builds" folder in your "MRTK Tutorials" folder). Создайте новую папку и присвойте ей подходящее имя (например, GettingStarted), выберите эту папку и нажмите кнопку Select Folder (Выбрать папку), чтобы запустить процесс сборки.Create a new folder and give it a suitable name (for example, "GettingStarted"), then select the folder, and then click the Select Folder button to start the build process.

    Окно сборки Unity, где отображается папка сборки.

    Появится строка состояния с постоянно обновляемой информацией о ходе выполнения сборки.A status bar appears and keeps you updated on your build progress.

    Отображение сведений о состоянии сборки в Unity

    Совет

    Кроме того, можно выполнить развертывание в эмуляторе HoloLens или создать пакет приложения для загрузки неопубликованных приложений.You can also deploy to the HoloLens Emulator or create an App Package for sideloading.

  3. Когда сборка завершится, в проводнике перейдите к расположению, где сохранена сборка, и двойным щелчком откройте файл решения в Visual Studio.When the build process has completed, in File Explorer, navigate to the location where you stored the build, and then double-click the solution file to open it in Visual Studio:

    Проводник Windows с выбранным файлом решения Visual Studio

    Примечание

    Если в Visual Studio появится запрос на установку новых компонентов, проверьте, установлены ли все обязательные компоненты, как описано в документации по установке средств .If Visual Studio asks you to install new components, take a moment to check that you have all the prerequisite components in the Install the Tools documentation.

  4. Настройте Visual Studio для устройства HoloLens. Для этого выберите конфигурацию Master (Ведущий) или Release (Выпуск), архитектуру ARM64 и целевой объект Device (Устройство).Configure Visual Studio for HoloLens by selecting the Master or Release configuration, the ARM64 architecture, and Device as the target.

    Совет

    Если выполняется развертывание в HoloLens (первое поколение), выберите архитектуру x86.If you're deploying to HoloLens (1st generation), select the x86 architecture.

    Среда Visual Studio, настроенная для развертывания в HoloLens 2

    Примечание

    В HoloLens обычно выполняется сборка для архитектуры ARM.For HoloLens, you will typically build for the ARM architecture. Однако в Unity 2019.3 существует известная проблема, которая вызывает ошибки при выборе ARM в качестве архитектуры сборки в Visual Studio.However, there is a known issue in Unity 2019.3 that causes errors when selecting ARM as the build architecture in Visual Studio. Рекомендуемое решение — выполните сборку для ARM64.The recommended workaround is to build for ARM64. Если такой вариант неприемлем, выберите Edit > Project Settings > Player > Other Settings (Изменить > Параметры проекта > Проигрыватель > Другие параметры) и отключите графические задания.If that is not an option, go to Edit > Project Settings > Player > Other Settings and disable Graphics Jobs.

    Примечание

    Если выбранное устройство не отображается как целевой объект, может потребоваться изменить загружаемый проект для решения Visual Studio из проекта IL2CPP на UWP.If you don't see Device as a target option, you may need to change the startup project for the Visual Studio solution from the IL2CPP project to the UWP project. Для этого в обозревателе решений щелкните правой кнопкой мыши имя проекта (YourProjectName), в нашем примере это "Universal Windows", и выберите Set as StartUp Project (Назначить запускаемым проектом).To do this, in the Solution Explorer, right-click on YourProjectName (Universal Windows), and then select Set as StartUp Project.

  5. Подключите HoloLens к локальному компьютеру и выполните одно из следующих действий:Connect your HoloLens to your computer, and then do one of the following:

  • Чтобы скомпилировать приложение, развернуть его в HoloLens и автоматически запустить без отладчика Visual Studio, выберите в строке меню Debug > Start Without Debugging (Отладка > Начать без отладки).To build the app, deploy it to your HoloLens, and start it automatically without the Visual Studio debugger attached, on the menu bar, select Debug > Start Without Debugging.

    Выбор варианта Start Without Debugging (Начать без отладки) в меню Visual Studio

  • Чтобы выполнить сборку и развертывание приложения в HoloLens, не запуская его автоматически, выберите в строке меню Build > Deploy Solution (Сборка > Развернуть решение).To build and deploy the app to your HoloLens but not have it start automatically, on the menu bar, select Build > Deploy Solution.

    Примечание

    В приложении можно заметить профилировщик диагностики, который можно включать или выключать с помощью голосовой команды Toggle Diagnostics (Переключить диагностику).You may notice the Diagnostics profiler in the app, which you can toggle on or off by using the speech command Toggle Diagnostics. В процессе разработки рекомендуется отображать профилировщик основную часть времени. Это позволит определить, повлияют ли изменения приложения на производительность.It's recommended that you keep the profiler visible most of the time during development to understand when changes to the app may impact performance. Например, приложения HoloLens должны непрерывно выполняться с частотой 60 кадров/с.For example, HoloLens apps should continuously run at 60 FPS.

Поздравляем!Congratulations

Вы развернули свое первое приложение HoloLens.You've now deployed your first HoloLens app. Перемещаясь, вы увидите, как пространственная сетка сопоставления покрывает поверхности, воспринятые HoloLens.As you walk around, you should see a spatial mapping mesh covering the surfaces that are perceived by the HoloLens. Кроме того, вы увидите на руках и пальцах индикаторы для отслеживания рук и счетчик частоты кадров для отслеживания производительности приложения.Additionally, you should see indicators on your hands and fingers for hand tracking and a frame rate counter for keeping an eye on app performance. Эти функции — лишь немногие из новых базовых компонентов, входящих в состав MRTK.These features are just a few foundational pieces included with MRTK. В следующих учебниках вы добавите содержимое в сцену, чтобы исследовать возможности HoloLens и MRTK.In the upcoming tutorials, you'll add content to your scene to explore the capabilities of HoloLens and the MRTK.