Поделиться через


Краткое руководство. Создание приложения HoloLens с использованием службы "Объектные привязки Azure" и MRTK в Unity

В этом кратком руководстве показано, как создать приложение HoloLens в Unity с помощью службы Объектные привязки Azure. "Объектные привязки Azure" — это управляемая облачная служба, которая преобразует трехмерные ресурсы в модели искусственного интеллекта, обеспечивая работу с объектами в смешанной реальности для HoloLens. По завершении работы с руководством у вас будет приложение HoloLens, созданное с помощью Unity, которое может обнаруживать объекты в реальном мире.

Вы изучите следующие темы:

  • настроить параметры сборки Unity;
  • экспортировать проект HoloLens в Visual Studio;
  • развернуть приложение и запустить его на устройстве HoloLens 2.

Необходимые компоненты

В рамках этого краткого руководства вам потребуются:

  • Физический объект в среде и его трехмерная модель (CAD-модель или отсканированный объект).
  • Компьютер с Windows, на котором установлено следующее:
    • Git для Windows.
    • Visual Studio 2019 с рабочей нагрузкой Разработка приложений для универсальной платформы Windows и компонент Пакет SDK для Windows 10 (10.0.18362.0 или более поздняя версия).
    • Unity 2019.4
  • Устройство HoloLens 2 с актуальными обновлениями и включенным режимом разработчика.
    • Чтобы обновить HoloLens до последнего выпуска, откройте приложение Параметры, перейдите в раздел Update & Security (Обновление и безопасность), а затем выберите Проверить обновления.

создать учетную запись Объектных привязок;

Сначала необходимо создать учетную запись с использованием службы Объектные привязки.

  1. Перейдите на портал Azure и выберите Создать ресурс.

    Создать новый ресурс

  2. Найдите ресурс Объектные привязки.

    Выполните поиск строки "Объектные привязки".

    Выбор ресурса Объектных привязок

    В ресурсе "Привязки объектов" в результатах поиска выберите "Создать -> Привязки объектов".

    Создание ресурса Объектных привязок

  3. В диалоговом окне Учетная запись Объектных привязок сделайте следующее.

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

    Ввод сведений об учетной записи ресурса Объектных привязок

    Выберите Создать, чтобы начать создание ресурса.

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

    Перейти к ресурсу

  5. На странице "Обзор" сделайте следующее.

    Запишите Домен учетной записи. Оно понадобится вам позже.

    Копирование домена учетной записи для ресурса Объектных привязок

    Запишите ИД учетной записи. Оно понадобится вам позже.

    Копирование идентификатора учетной записи для ресурса Объектных привязок

    Перейдите на страницу Ключи доступа и запишите Первичный ключ. Оно понадобится вам позже.

    Копирование ключа учетной записи для ресурса Объектных привязок

Настройка устройства

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

  1. В HoloLens перейдите к разделу "Параметры" — "Обновить" и "Безопасность" для>> разработчиков.
  2. Нажмите Связатьи не закрывайте этот экран, пока не введете PIN-код в Visual Studio во время первого развертывания.

Добавление модели

Перед запуском приложения необходимо сделать ваши модели доступными для приложения. Если у вас еще нет модели объектных привязок, создайте ее, следуя инструкциям в статье Создание модели. Потом возвращайтесь к этому разделу.

Если приложение HoloLens включено и подключено к устройству разработки (ПК), выполните следующие действия, чтобы загрузить модель в папку Трехмерные объекты на вашем HoloLens:

  1. Выберите и скопируйте модели, с которыми вы хотите работать, нажав сочетание клавиш CTRL и C (Ctrl + C).

  2. Чтобы запустить Проводник, нажмите клавишу Windows и E (Win + E). HoloLens отображается в списке с другими дисками и папками на левой панели.

    проводник

  3. Нажмите ссылку HoloLens, чтобы отобразить хранилище на устройстве HoloLens на правой панели.

    Открыть внутреннее хранилище HoloLens

  4. В проводник перейдите в внутренние трехмерные объекты хранилища>. Теперь вставьте свои модели в папку Трехмерные объекты, нажав сочетание клавиш Ctrl и V (Ctrl + V).

    Вставить модели в папку

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

Клонируйте репозиторий примеров, выполнив следующие команды:

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

Следующий шаг — скачать пакет объектных привязок Azure для Unity.

Пакет объектных привязок Azure для Unity (com.microsoft.azure.object-anchors.runtime) см. здесь. Выберите нужную версию и скачайте пакет с помощью кнопки Скачать.

В Unity откройте проект quickstarts/apps/unity/mrtk.

Следуйте инструкциям в этой статье: импортируйте пакет объектных привязок Azure, которые вы скачали в проект Unity с помощью диспетчера пакетов Unity.

Настройка сведений об учетной записи

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

В области Проект перейдите к Assets\AzureObjectAnchors.SDK\Resources.

Выберите ObjectAnchorsConfig. В области Инспектор введите Account Key в качестве значения ключа учетной записи Объектных привязок, Account ID в качестве значения идентификатора учетной записи Объектных привязок и Account Domain в качестве значения домена учетной записи Объектных привязок.

Сборка и запуск приложения

Создание примера сцены

В редакторе Unity перейдите к разделу Assets/MixedReality.AzureObjectAnchors/Scenes, откройте AOASampleScene и добавьте этот объект в список для создания сцены.

Когда откроется диалоговое окно "TMP Importer" (Средство импорта TMP) с запросом на импорт ресурсов TextMesh Pro, выберите "Import TMP Essentials" (Импорт основных компонентов TMP). Импорт ресурсов TextMesh Pro

Выберите файл —> создание параметров. Выберите Универсальная платформа Windows, после чего выберите Сменить платформу. Если Unity Editor информирует о том, что сначала нужно скачать некоторые компоненты, скачайте и установите их. Настроить параметры сборки можно с помощью следующего снимка экрана. Убедитесь, что рядом с только AOASampleScene стоит галочка: все остальные сцены не должны быть включены.

Параметры сборки

Выберите Сборка и выберите выходную папку. Теперь можно создать проект VS в выходной папке.

Создание и развертывание приложения

Откройте файл .sln, созданный Unity. Измените конфигурацию сборки на указанную ниже.

конфигурация сборки

Далее нужно настроить IP-адрес удаленного компьютера для развертывания и отладки приложения.

Щелкните правой кнопкой мыши проект приложения и выберите Свойства. На странице свойств выберите "Свойства конфигурации —> отладка". Измените значение параметра Имя компьютера на IP-адрес устройства HoloLens и нажмите кнопку Применить.

удаленная отладка

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

После экрана-заставки Unity должен отобразиться белый ограничивающий прямоугольник. Вы можете перемещать, масштабировать и поворачивать ограничивающий прямоугольник рукой. Поместите прямоугольник на объект, который нужно обнаружить.

Откройте меню руки и выберите Lock Search Area (Зафиксировать область поиска), чтобы предотвратить дальнейшее перемещение ограничивающего прямоугольника. Выберите Start Search (Начать поиск), чтобы начать обнаружение объектов. Когда объект будет обнаружен, на нем отобразится сетка. На экране отобразятся подробные сведения об обнаруженном экземпляре, например обновленная метка времени и коэффициент охвата поверхности. Выберите Stop Search (Прервать поиск), чтобы отменить отслеживание, и все обнаруженные экземпляры будут удалены.

Меню приложения

Можно также выполнить другие действия с помощью меню руки.

Главное меню
  • Start Search / Stop Search (Начать поиск / Прервать поиск) — запуск или остановка обнаружения объектов.

  • Toggle Spatial Mapping (Переключить пространственное сопоставление) — отображение или скрытие пространственного сопоставления. С помощью этого параметра можно проверить, завершено ли сканирование.

  • Tracker Settings (Параметры отслеживания) — активация или деактивация меню параметров для средства отслеживания.

  • Search Area Settings (Параметры области поиска) — активация или деактивация меню параметров для области поиска.

  • Start Tracing (Начать трассировку) — сбор данных диагностики и сохранение их на устройстве. Дополнительные сведения см. в разделе Отладка проблем с обнаружением и сбор данных диагностики.

  • Upload Tracing (Отправка трассировки) — отправка данных диагностики в службу "Объектные привязки".

    Главное меню руки в Unity

Меню параметров средства отслеживания
  • High Accuracy (Высокая точность) — экспериментальная функция, используемая для более точной оценки пространственного расположения. Если включить этот параметр, обнаружение объектов потребует больше системных ресурсов. В этом режиме сетка объекта будет отображаться розовым цветом. Чтобы вернуться в обычный режим отслеживания, нажмите соответствующую кнопку еще раз.

  • Relaxed Vertical Alignment (Нестрогое выравнивание по вертикали) — позволяет выполнять обнаружение объекта не по вертикали. Полезно для обнаружения объектов на наклонной поверхности.

  • Allow Scale Change (Разрешить изменение масштаба) — позволяет средству отслеживания изменять размер обнаруженного объекта на основе информации о среде.

  • Coverage Ratio Slider (Ползунок коэффициента охвата) — настройка коэффициента соответствия точек поверхности для обнаружения объекта средством отслеживания. Низкие значения позволяют средству отслеживания лучше обнаруживать объекты (например, темные объекты или объекты, отражающие свет), которые трудно обнаружить с помощью датчиков HoloLens. Более высокие значения позволяют снизить частоту ложных обнаружений.

    Меню руки для средства отслеживания Unity

Меню параметров области поиска
  • Lock Search Area (Зафиксировать область поиска) — фиксация области, охватываемой ограничивающим прямоугольником, чтобы предотвратить его случайное перемещение руками.

  • Auto-Adjust Search Area (Автонастройка области поиска) — обеспечивает автоматическое изменение положения для области поиска при обнаружении объектов.

  • Cycle Mesh (Циклическое переключение сеток) — переключение путем визуализации загруженных сеток в области поиска. С помощью этого параметра пользователь может выровнять область поиска для объектов, которые трудно обнаружить.

    Меню руки для области поиска Unity

Устранение неполадок

Советы

Если объект не обнаружен, выполните указанные ниже действия.

  1. Убедитесь, что вы используете правильную модель для объекта.
  2. Визуализируйте область поиска и убедитесь, что она охватывает целевой объект.
  3. Попробуйте уменьшить значение MinSurfaceCoverage.
  4. На портале устройств Windows щелкните "Представления —> трехмерные представления" и проверьте, завершена ли проверка.

Следующие шаги