Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: сборка и тестирование

Posted by

В прошлой части серии мы завершили разработку приложения, познакомившись с основами разработки для Hololens. Настала пора проверить работоспособность нашего приложения на устройстве или в эмуляторе.

Общие советы по тестированию

Принципиально тестирование голографических приложений мало чем отличается от тестирования обычных приложений: вам нужно всё проверить до мельчайших деталей, чтобы всё работало как надо, чтобы нигде не падала производительность, не было графических артефактов, чтобы были правильные данные и т.д. Ввиду особенностей приложений смешанной реальности вам придется запускать его в разных помещениях, при разном уровне освещения, смотреть на голограммы под разным углом и на разных расстояниях. И не забывайте, что чем раньше вы достигнете производительности 60 кадров в секунду, тем лучше (вспоминаем ч. 3).

Тестирование в Unity

Первым делом работоспособность приложения необходимо проверить в Unity. Нажимаем на Play, смотрим, ходим. Для имитации нажатий можно использовать следующий код в Update методе GestureTest:

То же самое можно использовать для имитации голосовых команд, если у вас на компьютере не работает микрофон.
Стандартные утилиты Unity, такие как FrameDebugger и Profiler, тоже могут быть очень полезны:

!

Проблема в том, что Unity не отображает в полной мере все недостатки приложения, особенно те, которые связаны с производительностью. Если в Unity ваше приложение выдаёт стабильные 60 кадров в секунду, то не факт, что те же 60 кадров вы увидите на устройстве.

Для того, чтобы протестировать приложение на эмуляторе, вам необходимо собрать Solution Visual Studio. Воспользуемся скриптом, созданным в части 2.

!

По завершении процесса сборки, если всё прошло хорошо и в консоли нет ошибок, откроется директория, содержащая Solution Visual Studio. Запустите проект, вы должны увидеть следующее:

!

Эмулятор

Первым делом попробуем загрузить приложение на эмулятор. Чтобы сделать возможным запуск эмулятора, вам необходимо активировать Hyper-V (панель управления → программы и компоненты → включить или отключить компоненты Windows). Напоминаю, что Hyper-V не работает на Windows 10 Home. Также не забудьте включить режим разработчика в настройках.

!

Настройки, необходимые для запуска проекта на эмуляторе, представлены на картинке.

!

Обязательно ставим Release, т.к. под другими конфигурациями эмулятор на данный момент не работает. Установим BreakPoint в классе VoiceTest. Однако, когда вы произнесёте «», ничего не произойдет. Чтобы это исправить, уберите у каждого проекта оптимизацию кода (ПКМ → Properties → Build). Запуск выполнять через F5 (Start Debugging). Высветится окно “You do not have permission to run the emulator“, ставим галочку “Join the Hyper-V Administration Group“, жмём Retry:

!

После чего вы наконец-то сможете увидеть окно эмулятора:

!

Что есть что в эмуляторе:

— Закрыть Окно эмулятора, завершить отладку
— Свернуть Окно
— Переключится на эмуляцию человеческого ввода (см. ниже)
— Прямое управление с клавиатуры и мыши
— Развернуть на максимум
— Увеличить/уменьшить размер окна
— Справка
— Device Portal (см. ниже)
— Дополнительные инструменты

Основное назначение элементов, думаем, вам ясно. Единственное, что нуждается в пояснении – это эмуляция ввода. При нажатии на иконку человека, в приложении вы сможете:

— Перемещаться вперёд-назад-влево-вправо, используя клавиши W, S, A, D соответственно.
— Управлять взглядом, зажав ПКМ и двигая мышью, или используя стрелки на клавиатуре.
— Выполнить AirTap, нажав ПКМ.
— Выполнить Navigation или Manipulation, зажав ПКМ.
— Выполнить Bloom, нажав на клавишу F2.

Дополнительные инструменты высвечиваются при нажатии на соответствующую клавишу:

!

Всего нам доступно 5 вкладок:

— Simulation. Показывает координаты положения человека в виртуальном пространстве, угол поворота головы, нажатие AirTap.
— Room – позволяет загрузить комнату в эмулятор. Можно выбрать либо готовые (всего доступно 5 вариантов), либо создать модель своей комнаты через Device Portal.
— Account – ввести данные учётной записи Microsoft.
— Network – параметры адаптеров.
— Optional Settings – дополнительные настройки, например, включить/отключить ускорение графики.

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

Дополнительными средствами отладки в эмуляторе являются Performance Profiler и Graphic Debugger. Первое позволит получить детальный анализ производительности, время вызова методов, графики нагрузки на CPU и GPU. Graphic Debugger позволяет покадрово рассмотреть отрисовку графических объектов.

!

!

Запуск на устройстве

Работать с устройством можно либо через USB (в таком случае, выбираем в качестве target-платформы Device), либо через Wi-Fi, если вы подключены к одной сети. Обязательно нужно активировать режим разработчика на Hololens. Для этого выполните Bloom, зайдите в настройки, закрепите окно, зайдите в раздел Update → For Developers. В том же разделе, если вы пролистаете ниже, можно включить Device Portal. Сделайте это сразу.

!

!

При первом запуске через Visual Studio или Device Portal вам потребуется PIN, который генерируется автоматически на устройстве. Просто надевайте очки, заходите в настройки Update → Pair Device, запомните PIN и введите его в появившемся на ПК окне.

!

Всё готово к работе. Осталось только ввести адрес устройства:

— Для запуска через USB — http://127.0.0.1:10080.
— Для запуска через Wi-Fi вам необходимо знать адрес устройства. Посмотрите в настройках Network & Internet, или, надев очки, спросите у Кортаны (“Hey Cortana! What’s my IP-address?”). Адрес выглядит примерно так: https://192.168.88.212.

Эти же IP-адреса будут использоваться для входа в Device Portal.

Device Portal

Своего рода консоль для управления и мониторинга устройства.

!

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

Как видно на скриншоте, в Device Portal находится 13 вкладок (слева), которые позволяют получить подробную информацию о производительности, состоянии сети, файловой системы и т.д. А также статус устройства, уровень заряда, температуру и кнопки управления загрузкой (правый верхний угол). В рамках статьи мы не будем рассматривать их все подробно, расскажу о самом интересном.

Первое — это загрузка приложений. Если у вас по каким-либо причинам не получается загрузить приложение через Visual Studio, то это всегда можно сделать через Device Portal. Соберите App package вашего приложения. Для этого, в Visual Studio, выберите в Solution Explorer startup project (название жирным шрифтом), ПКМ -> Store → Create App Package. В первом окне “Create your package” вам предложат создать Package для загрузки в Store, выбираем ответ No. В следующем, Select and configure packages, укажите следующие настройки:

!

Версия и директория могут быть любыми. По завершении процесса сбора, если всё прошло хорошо и высветилось сообщение “Package Creation Completed“, зайдите в Device portal, в раздел Apps, загрузите ppxbundle и 2 appx файла:

!

Нажимаем Go, ищем в списке приложений наше. Как только нашли, выполняем запуск. Теперь мы можем:

— Посмотреть производительность во вкладке System Performance:

!

— Во вкладке Mixed Reality Capture сделать скриншот или посмотреть глазами пользователя:

!

— Отслеживать положение в пространстве и выполнить SpatialMapping комнаты, которую потом можно загрузить в Unity (вспоминаем ч. 4). Для лучшего результата придётся несколько раз пройтись по комнате, каждый раз обновляя результат. Впоследствии полученный Mesh комнаты можно экспортировать как файл с расширением *.obj.

!

Заключение

Мы закончили цикл статей, которые помогут начинающим разработчикам начать писать свои приложения смешанной реальности. Как было отмечено в начале, за этой технологией будущее, а это значит, что создавать программы надо здесь и сейчас. Удачи вам в ваших начинаниях!

Выражаем благодарность Тимуру Ахметову, разработчику из компании HoloGroup и департаменту стратегических технологий Microsoft за предоставленный материал.

Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *