Упражнение. Облачные службы Azure для HoloLens 2
В каждой последовательной главе вы добавите новые облачные службы Azure для расширения возможностей приложений и пользовательского интерфейса, обучая вас основам каждой облачной службы Azure.
Примечание.
Эта серия модулей посвящена HoloLens 2, но учитывая кросс-платформенный характер Unity, большая часть уроков также будет применяться к приложениям для настольных ПК и мобильных устройств.
Цели приложения
В это серии модулей вы будете создавать приложение HoloLens 2, позволяющее обнаруживать объекты в изображениях и определять их пространственное расположение. Мы будем ссылаться на эти объекты как отслеживаемые объекты.
Пользователь может создать отслеживаемый объект, чтобы связать набор изображений с помощью компьютерного зрения, пространственного расположения или обеих возможностей. Все данные должны быть сохранены в облаке.
Функции
- Базовое управление данными и изображениями.
- Обучение и обнаружение изображений.
- Хранение пространственного положения и инструкций.
Oблачныe службы Azure2
Вы будете использовать следующие облачные службы Azure для реализации приведенных выше функций:
Хранилище Azure
Вы будете использовать служба хранилища Azure для сохранения данных. Служба хранилища Azure позволяет хранить данные в таблице и отправлять большие двоичные файлы, например изображения.
Пользовательское визуальное распознавание Azure
С помощью Azure AI Пользовательское визуальное распознавание (часть служб ИИ Azure) можно связать набор изображений с отслеживаемых объектов, обучить модель машинного обучения на созданном наборе и обнаружить отслеживаемые объекты.
Пространственные привязки Azure.
Чтобы сохранить расположение отслеживаемого объекта и указать его, вы будете использовать пространственные привязки Azure.
Создание и подготовка проекта Unity
В этом разделе вы будете создавать новый проект Unity и готовить его к разработке MRTK.
Сначала выполните действия, описанные в схеме обучения HoloLens 2, за исключением инструкций по сборке приложения на устройстве, включающую следующие действия.
- Создание проекта Unity и присвоение ему подходящего имени, например Учебники по Azure Cloud
- Переключение платформы сборки.
- Импорт требуемых ресурсов TextMeshPro.
- Импорт набора средств для Смешанной реальности (MRTK).
- Настройка проекта Unity.
- Создание и настройка сцены и указание подходящего имени сцены, например AzureCloudServices
Импорт ресурсов руководства
AzurespatialAnchors
Добавьте пакет SDK в проект. Чтобы добавить пакет, следуйте инструкциям из этого руководства.Загрузите и импортируйте следующие пользовательские пакеты Unity в том порядке, в котором они перечислены:
После импорта ресурсов учебника окно Project должно выглядеть следующим образом:
Подготовка сцены
В этом разделе вы будете готовить сцену, добавляя отдельные префабы из руководства.
В окне "Проект" последовательно выберите Ресурсы > MRTK.Tutorials.AzureCloudServices>Префабы>Диспетчер. Удерживая нажатой клавишу CTRL, выделите SceneController, RootMenu и DataManager, чтобы выбрать три префаба.
SceneController (prefab) (SceneController — заготовка) содержит два скрипта: SceneController (script) (SceneController — скрипт) и UnityDispatcher (script) (UnityDispatcher — скрипт). Компонент скрипта SceneController содержит несколько функций пользовательского интерфейса и упрощает функцию захвата фотографий, а UnityDispatcher — это вспомогательный класс, позволяющий выполнять действия в основном потоке Unity.
RootMenu (префаб) — это основной пользовательский префаб, который содержит все окна пользовательского интерфейса, подключенные друг к другу с помощью различных небольших компонентов скрипта, и управляет общим потоком интерфейса приложения.
DataManager (префаб) отвечает за взаимодействие с хранилищем Azure. Он будет описан в следующем учебнике.
Теперь, когда три префафа по-прежнему выбраны, перетащите их в окно иерархии, чтобы добавить их в сцену:
Чтобы сосредоточиться на объектах в сцене, можно дважды щелкнуть объект RootMenu , а затем уменьшить немного. Если объект RootMenu по-прежнему выбран, измените его значения в компоненте преобразования следующим образом:
Позиция: X = 0,0, Y = 1.6, Z = 0,6
Совет
Если вы найдете большие значки в сцене отвлекающих (например, большие обрамленные значки "T"), вы можете скрыть их , переключив Gizmos на положение вне.
Настройка сцены
В этом разделе описано, как подключить SceneManager, DataManager и RootMenu , чтобы создать рабочую сцену для следующего руководства по интеграции службы хранилища Azure.
Соединение объектов
В окне Hierarchy (Иерархия) выберите объект DataManager:
В окне инспектора найдите компонент DataManager (Script). Вы увидите пустой слот в событии On Data Manager Ready (). Перетащите объект SceneController из окна иерархии в событие On Data Manager Ready ().
Раскрывающееся меню события теперь активно. Выберите раскрывающееся меню, перейдите к SceneController и выберите параметр Init () в подменю.
В окне иерархии выберите объект SceneController. Компонент SceneController (script) вы найдете в инспекторе.
Теперь появилось несколько незаполненных полей. Давайте изменим это. Переместите объект DataManager из иерархии в поле диспетчера данных, а затем переместите rootMenu MainMenu> GameObject из иерархии в поле "Главное меню".
В окне иерархии выберите объект MRTK XR Rig . Убедитесь, что дочерний объект службы "Речь MRTK" включен. Это позволяет открыть меню, сказав "Открыть меню".
Теперь сцена подготовлена для работы со следующими учебниками. Не забудьте сохранить это в проекте.
Подготовка конвейера сборки проекта
Примечание.
Сборка и тестирование на HoloLens 2 не является обязательным. Для тестирования можно использовать HoloLens 2 Emulator, если нет устройства HoloLens. Устройства можно приобрести на сайте HoloLens. com.
Прежде чем завершить сцену, давайте подготовим проект для holoLens 2.
1. Добавление других необходимых возможностей
В меню Unity выберите "Изменить>проект" Параметры..., чтобы открыть окно "Проект Параметры".
В окне "Проект Параметры" выберите проигрыватель, а затем выполните публикацию Параметры:
В области Параметры публикации прокрутите экран вниз до раздела Возможности и убедитесь в том, что возможности InternetClient, Микрофон и SpatialPerception (которые вы включили при создании проекта в начале учебника) включены. Теперь включите возможности InternetClientServer (Сервер интернет-клиента), PrivateNetworkClientServer (Сервер клиента частной сети) и Webcam (Веб-камера):
2. Развертывание приложения в HoloLens 2
Вы не сможете запускать все функции, которые будут использоваться в этом руководстве в редакторе Unity. Поэтому необходимо ознакомиться с развертыванием приложения на устройстве HoloLens 2 или эмуляторе.
Совет
Напоминание о том, как создать и развернуть проект Unity в HoloLens 2, см . в руководствах по началу работы. Создание и развертывание инструкций приложения .
3. Запустите приложение в HoloLens 2 и следуйте инструкциям в приложении
Внимание
Все службы Azure используют Интернет, поэтому обеспечьте подключение устройства к Интернету.
Если приложение выполняется на устройстве, предоставьте доступ к следующим запрошенным возможностям.
- Микрофон
- Камера
Эти возможности необходимы для правильной работы таких служб, как Пользовательское визуальное распознавание.