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

В последнее время идёт активное развитие технологий дополненной и виртуальной реальностей. Первые шаги в этом направлении уже сделали многие ведущие игроки ИТ-рынка: Facebook приобрела компанию Oculus, Google возрождает канувший в лету проект Glass, Sony уже этой осенью выпустят комплект Playstation VR для своей консоли. Не остались в стороне и Microsoft, представив миру HoloLens — первый полностью автономный голографический компьютер. 

Что же это такое?

HoloLens впервые был анонсирован 21 января 2015 года на Windows 10 Event. 30 марта были выпущен «Development Edition», позволяющий разработчикам прикоснуться к новинке. Microsoft HoloLens представляет из себя очки дополненной реальности, то есть устройство, позволяющее создавать виртуальные объекты в реальном мире. В отличие от Oculus, CardBoard или Gear VR, HoloLens — полноценный портативный компьютер, позволяющий работать без проводов или смартфона. Выигрышным преимуществом также можно назвать высокое качество картинки, которое достигается благодаря наличию 24-х ядерного графического процессора HPU (Holographic Processor Unit), разработанного специально по заказу Microsoft. Те счастливчики, которые уже успели прикоснуться к этому чуду техники, уверенно заявляют, что за этим будущее.

Мы начинаем цикл статей, в которых объясним начинающим разработчикам некоторые тонкости разработки под HoloLens на примере простого приложения.

Приложения для Microsoft HoloLens

HoloLens работает на ОС Windows 10, а это значит, что на устройстве есть поддержка Универсальной платформы Windows (UWP). UWP определяет жизненный цикл приложения: развёртывание, запуск, активация, остановка, возобновление, закрытие и удаление. Всё эти процессы происходит в специальной «оболочке», называемой «смешанная реальность». Для запуска приложения его необходимо выбрать в стартовом меню и разместить в окружающем пространстве. Приложение может быть представлено в двух видах: двумерном и голографическом (далее по тексту — 2D и Holographic соответственно). В первом случае пользователь имеет дело с окнами фиксированного размера, во втором — объемными голограммами. При этом в приложении можно добавить поддержку обоих видов, чтобы пользователь мог переключаться между ними в реальном времени. Например, это может понадобиться, когда пользователь должен ввести данные с клавиатуры.

Инструменты

Перед тем, как приступить к разработке, необходимо установить соответствующие инструменты.  Нам потребуется компьютер соответствующей конфигурации:

  • 64-битный процессор CPU с 4-мя ядрами (или несколько процессоров с общим количеством 4 ядер);
  • 8 Гб оперативной памяти или более;
  • поддержка в BIOS следующих функций:
    • Hardware-assisted virtualization;
    • Second Level Address Translation;
    • Hardware-based Data Execution Prevention;
  • GPU (эмулятор может работать с неподдерживаемым GPU, но значительно медленнее);
  • DirectX 11.0 или более поздней версии;
  • WDDM 1.2 или более поздней версии драйвера.

Отдельно следует рассказать про ОС. Вам понадобится 64-битная версия Windows 7, 8, 8.1 или 10. Лучше всего подходит Windows 10, так как не все инструменты SDK поддерживаются на старых версиях. Если у вас нет доступа к устройству, тестировать приложение придётся на эмуляторе, который работает только на ОС Windows 10 с поддержкой Hyper-V, то есть Professional или Enterprise. Если есть устройство, то подойдет и Home Edition.

Для разработки приложений необходимо установить следующие инструменты:

  • Visual Studio 2015 с Update Подойдёт любое издание, даже Community. Не забудьте вместе с VS установить Windows 10 SDK и Tools 1.4.
  • Эмулятор HoloLens (см. выше).
  • Unity 3D4.0f3 (последняя актуальная версия на момент написания статьи), специальная сборка Unity с поддержкой HoloLens.

Всё необходимое можно скачать по ссылке.

Использование Unity 3D необязательно. Для 2D приложений хватит связки XAML + C#/C++, а Holographic приложение можно разрабатывать с помощью DirectX 11. В последнем случае, всю графику придётся прописывать кодом, что несколько усложняет процесс разработки, поэтому использование движка Unity всё же рекомендуется.

Теперь мы готовы к тому, чтобы создать наше первое приложение.


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

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