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

Завершено

Вас приветствует серия учебников по HoloLens 2. В этом руководстве вы узнаете, как создать интерфейс Смешанная реальность, который содержит элементы пользовательского интерфейса, трехмерные манипуляции с моделью, вырезку моделей и функции отслеживания глаз. Из второго руководства вы узнаете, как создать приложение для удаленного взаимодействия с голограммами на компьютере, которое позволяет подключаться к HoloLens 2 в любое время и визуализировать приложение в 3D-формате.

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

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

В этом разделе вы будете создавать новый проект Unity и готовить его к разработке MRTK.

Перейдите на путь к основам HoloLens 2 и завершите модули там, но остановитесь, когда вы достигнете модулей HoloLens 2. В результате выполнения этих инструкций вы выполните следующие действия.

  1. Создал проект Unity и дал ему подходящее имя; например, pc Holographic Remoting.
  2. Смените платформу сборки.
  3. Импортируете основные ресурсы TextMeshPro.
  4. Импортируете набор средств смешанной реальности и настроите проект Unity.
  5. Создадите и настроите сцену и присвоите ей подходящее имя — например, PC holographic Remoting

Импорт ресурсов руководства

Скачайте и импортируйте MRTK. HoloLens2.Unity.Tutorials.Assets.PCHolographicRemoting.3.0.0.unitypackage .

Совет

Сведения о том, как правильно импортировать пользовательский пакет Unity, см. в разделе Импорт набора средств для смешанной реальности.

После импорта ресурсов учебника окно Project должно выглядеть следующим образом:

Screenshot of Project window.

Настройка и подготовка сцены

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

  1. Во-первых, поскольку некоторые модели находятся в формате glTF, который Unity не поддерживается в собственном коде, необходимо установить пакет, который позволяет импортировать их.

    Чтобы установить библиотеку glTFast открытый код, скачайте и запустите этот файл: https://package-installer.glitch.me/v1/installer/OpenUPM/com.atteneder.gltfast?registry=https%3A%2F%2Fpackage.openupm.com&область=com.atteneder

    Screenshot of importing glTFast.

    Выберите Импорт.

    Screenshot of new scope registry imported.

    Выберите Закрыть.

  2. В окне «Проект» перейдите к папке Ресурсы>MRTK.Tutorials.PCHolograhicRemoting>Префабы. Выберите предварительное поле SceneContent и перетащите его в нижней части окна Иерархии .

    Screenshot of Adding prefabs 2.

    Чтобы просмотреть сцену с точки зрения камеры, щелкните правой кнопкой мыши объект Main Камера в окне иерархии, а затем выберите "Выровнять представление" для выбора.

    Screenshot of Focus objects on scene.

    Совет

    Если вы чувствуете, что большие значки в сцене отвлекают (например, большие фреймированные значки T), вы можете скрыть их , переключив Gizmos на положение Off .

Настройка кнопок для работы со сценой

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

Настройка компонента "Кнопка нажатия" (скрипт)

  1. В окне иерархии разверните объекты SceneContent и ButtonParent и нажмите кнопку "Далее". В окне инспектора найдите компонент кнопки с нажатием и выберите значок знака плюса () в разделе "OnClick(+) () событие.

    Screenshot of expanding the Interactable script.

  2. Если объект NextButton все еще выбран в окне «Иерархия», перетащите объект ButtonParent из окна «Иерархия» в пустое поле Нет (объект) события, которое вы только что добавили, чтобы объект ButtonParent прослушивал событие щелчка кнопкой мыши из этой кнопки:

    Screenshot of Adding ButtonParent to the None Object.

  3. Выберите раскрывающийся список "Нет функции" того же события, а затем выберите ViewButtonControl>NextModel (), чтобы задать функцию NextModel () в качестве действия, активированного при нажатии кнопки:

    Screenshot of selecting ViewButtonControl and NextModel.

Настройка остальных кнопок

  • Для всех остальных кнопок повторно выполните процессы, которые описаны выше, чтобы назначить функции событиям OnClick () следующим образом:

    • Для объекта PreviousButton назначьте функцию ViewButtonControl>PreviousModel ().
    • Для ClippingButton выберите функцию ToggleButton>ToggleClipping ().

Настройка компонентов элемента управления «Кнопка просмотра» (сценарий) и «Кнопка переключателя» (сценарий)

На этом этапе вы настраиваете кнопки для демонстрации функций переключения и обрезки модели. Далее предстоит добавить 3D-модели в сцену и объекты обрезки в сценарий.

Для демонстрации мы предоставили шесть различных 3D-моделей. Разверните объект ModelParent, чтобы предоставить эти модели.

  1. Сохраняя объект ButtonParent выделенным в окне Hierarchy (Иерархия), в окне Inspector (Инспектор) выберите View Button Control (Script) (Элемент управления кнопкой просмотра — скрипт) и разверните переменную Models (Модели).

    В поле "Размер" введите число трехмерных моделей, которые вы хотите использовать в сцене; в этом случае шесть. При этом создаются поля для добавления новых 3D- моделей.

    Screenshot of entering the number of 3D models.

  2. Перетащите каждый дочерний объект объекта ModelParent в эти поля.

    Screenshot of dragging and drop each child object.

  3. Перетащите объект ClippingObjects из окна «Иерархия» в поле Объект обрезки компонента Кнопка переключателя (сценарий).

    Примечание.

    Оставайтесь только в объекте ButtonParent.

    Screenshot of dragging and drop clipping object.

  4. В окне иерархии выберите префаб "КлиппингObjects" и включите его в окне инспектора, чтобы включить объекты обрезки.

Настройка объектов обрезки для включения функции обрезки

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

В окне «Иерархия» разверните объект ClippingObjects, чтобы предоставить три различных объекта обрезки, которые будут использоваться в этом проекте.

  1. Чтобы настроить объект ClippingSphere, выберите его, а затем добавьте компонент Clipping Sphere в окне инспектора. Затем введите количество отрисовщиков в поле "Размер ", которое необходимо добавить для трехмерной модели. В этом случае добавьте 10 дочерних объектов MarsCuriosityRover. При этом будут созданы поля для добавления отрисовщиков. Затем необходимо перетащить в эти поля дочерние объекты модели для объекта MarsCuriosityRover.

    Screenshot of configuring Clipping Objects to enable clipping feature.

  2. Убедитесь, что объекты обрезки включены, включив префаб "КлиппингObjects " в окне иерархии.