Приложения и примеры функций смешанной реальности

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

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

Примеры использования примеров приложений

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

Примеры приложений с открытым кодом для HoloLens 2

Эти примеры приложений создаются с помощью набора Mixed Reality Toolkit для Unity.

Примеры приложений с открытым кодом для HoloLens (1-го поколения)

Примеры возможностей

Для каждого сценария разработки, приведенного ниже, доступны примеры функций, которые соответствуют определенным реализациям, описанным в нашей документации. Они поддерживают разные платформы разработки и аппаратные устройства.

Сценарий Пример функции Подсистема Описание
Создание базовых сценариев смешанной реальности в Unity Примеры OpenXR с Unity Unity C# Начало работы с кросс-платформенными средствами разработчиков с использованием последней версии Unity 2020.LTS и подключаемого модуля OpenXR.
Стратегии привязки Локальная привязка Сохранение и совместное использование пространственных привязок между сеансами приложений и устройствами. См. статью Пространственные привязки.
Примеры для службы "Пространственные привязки Azure" Создание приложений смешанной реальности с отслеживанием положения в пространстве с помощью основных возможностей службы Пространственные привязки Azure.
QR-коды Unity C# Обнаружение QR-кодов в среде.
Совместная работа в смешанной реальности Удостоверение пользователя Unity C# Настройка устройства HoloLens 2 с помощью учетных данных Azure Active Directory (AAD).
Примеры для службы "Пространственные привязки Azure" Создание приложений смешанной реальности с отслеживанием положения в пространстве с помощью основных возможностей службы Пространственные привязки Azure.
Пространственное взаимодействие Пример простой голограммы Windows 10 C++ Отрисовка вращающегося куба в Windows Mixed Reality.
Интерпретация сцены или объекта Примеры интерпретации сцены Unity C# Помощь в разработке приложений смешанной реальности для разных сред.
Примеры для службы "Объектные привязки Azure" Unity C# Обнаружение объекта в физическом мире с использованием трехмерной модели и оценка его состояния 6DoF с помощью службы Объектные привязки Azure.
Наложения контекстных данных QR-коды Unity C# Обнаружение QR-кодов в среде.
Пример средства для отслеживания плаката Unity C# Сопоставление голограммы с реальным объектом.
Создание цифровых двойников в смешанной реальности Unity C# Узнайте, как создать приложение смешанной реальности с помощью Azure Digital Twins и Unity, платформы трехмерного содержимого, работающей в режиме реального времени.
Захват данных камеры Пример съемки в смешанной реальности Windows 10 C++ Захватывайте данные смешанной реальности от первого лица в виде фотографии или видео.
Примеры режима исследования Windows 10 C++ Предоставление доступа к основным датчикам на устройстве HoloLens для исследовательских приложений.
Голографическое удаленное взаимодействие Holographic Remoting Player Windows 10 C++ Потоковая передача голографического содержимого с ПК на Microsoft HoloLens в реальном времени по подключению Wi-Fi.
Примеры для службы "Удаленная отрисовка Azure" Unity C# Тестирование службы "Удаленная отрисовка Azure" с использованием ресурсов для приведенных здесь примеров данных.
Управление задачами и рекомендации Dynamics 365 Remote Assist; Повысьте эффективность совместной работы из разных расположений с помощью Dynamics 365 Remote Assist на устройствах HoloLens, HoloLens 2, Android или iOS.
Dynamics 365 Guides Помощь операторам в обучении во время работы путем предоставления голографических инструкций в нужном месте и в нужное время.
Голограммы с фиксацией в мировой системе координат Примеры физики с фиксацией в мировой системе координат Unity C# Несколько виртуальных физических взаимодействий на основе поддержки фиксации в мировой системе координат с помощью World Locking Tools.
Пример закрепления в пространстве Unity C# Описание работы реального приложения, для которого требуется выполнить привязку крупного объекта или объектов с признаками в реальном мире. Пример с закреплением в пространстве предоставляет упрощенный и более точный обзор этой функции.
Пример закрепления лучей Unity C# Демонстрация настройки закрепления в пространстве путем перемещения маркеров объектов вручную с помощью возможностей MRTK.
Пример использования World Locking Tools со службой "Пространственные привязки Azure" Unity C# Обеспечение стабильной системы координат, которую можно сохранять между сеансами и передавать на другие устройства в приложении. Это возможно благодаря сочетанию возможностей World Locking Tools для Unity (WLT) и службы "Пространственные привязки Azure" (ASA).
Управление питанием и показателями температуры Управление питанием и показателями температуры Unity C#, Win32 C++ Если HoloLens 2 работает в среде с высокой температурой или с высокими требованиями к производительности (нагрузка на ЦП/GPU, использование периферийных устройств и т. д.), пакет SDK PowerThermalNotification можно использовать для оформления подписки на события уведомлений, что позволяет устройству работать дольше. См. справку по API PowerThermalNotification.

Создание базовых сценариев OpenXR

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

Для разработчиков, работающих с Unity 2020 для создания приложений HoloLens 2 или смешанной реальности, можно использовать подключаемый модуль OpenXR вместо WindowsXR, чтобы улучшить совместимость между платформами. Подключаемый модуль OpenXR для смешанной реальности также хорошо работает с последней версией Mixed Reality Toolkit (2.7.x).

Образец Справочная статья Платформа Описание
Смешанная реальность OpenXR с примерами Unity Использование подключаемого модуля OpenXR Unity C# Эти примеры проектов демонстрируют, как создавать приложения Unity для HoloLens 2 или гарнитур смешанной реальности с помощью подключаемого модуля OpenXR для смешанной реальности.

Рассматриваются следующие примеры сценариев:
Базовый проект Unity с MRTK OpenXR См. пример файла сведений. Unity C# Этот репозиторий содержит проект Unity, настроенный с пакетами Microsoft Mixed Reality Toolkit Foundations и Standard Assets, а также пакетом Microsoft OpenXR Plugin.
Использование Unity 2020.3 и MRTK 2.7.2 Что такое MRTK? Unity C# MRTK-Unity — это проект, управляемый Майкрософт, который предоставляет набор компонентов и функций для ускорения кросс-платформенной разработки приложений смешанной реальности в Unity.
OpenXR Explorer См. пример файла сведений. C++, Windows, Linux, OpenXR OpenXR Explorer — это удобное средство отладки для разработчиков OpenXR. Оно позволяет легко переключаться между средами выполнения OpenXR, отображает список поддерживаемых расширений среды выполнения и дает возможность изучать общие свойства и перечисления с прямыми ссылками на важные данные спецификации OpenXR.
Примеры OpenXR для разработчиков смешанной реальности Что такое OpenXR? C++ В этих примерах OpenXR используются C++17 и Direct3D 11. Один и тот же исходный код работает в приложениях UWP, выполняющихся на устройствах HoloLens 2, и приложениях Win32, выполняющихся на рабочем столе Windows с иммерсивной гарнитурой Windows Mixed Reality.

Совместная работа в смешанной реальности

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

Удостоверение пользователя

Этот пример настраивает ваше устройство HoloLens 2 с использованием учетных данных Azure Active Directory (AAD), а затем настраивает устройство для входа по сетчатке глаза.

Образец Справочная статья
Вход через AAD на HoloLens 2 Общий обзор платформы удостоверений Майкрософт

Пространственное взаимодействие — пример базовой голограммы

Этот пример выполняется в Windows Mixed Reality и отрисовывает вращающийся куб. Вы можете взаимодействовать с кубом, помещая его в новое положение, в том числе с использованием разных методов ввода. Этот пример работает на компьютерах с подключенной гарнитурой, а также на Microsoft HoloLens.

Образец Справочная статья
Универсальные примеры для Windows — базовая голограмма См. пример файла сведений.

Интерпретация сцены

Интерпретация схемы предоставляет разработчикам смешанной реальности структурированное и общее представление среды. Интерпретация сцены предназначена для разработки интуитивно простых приложений для определенных сред, объединяя возможности существующих сред выполнения смешанной реальности. Такие среды выполнения являются очень точными, но менее структурированными средами выполнения пространственных сопоставлений и новыми средами выполнения на основе ИИ.

Образец Справочная статья Платформа Описание
Примеры интерпретации сцены смешанной реальности (пакет SDK для интерпретации сцены) Интерпретация сцены Unity C# и пакет SDK для интерпретации сцены Пример приложения на основе Unity, демонстрирующий интерпретацию сцены в HoloLens 2.
Пример интерпретации сцены (MRTK + пакет SDK для интерпретации сцены) Наблюдатель интерпретации сцены (MRTK) Unity C#, MRTK + пакет SDK для интерпретации сцены Пример MRTK с пакетом SDK для интерпретации сцены.

Наложения контекстных данных

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

QR-коды

HoloLens 2 может обнаруживать QR-коды в среде вокруг гарнитуры, определяя систему координат в реальном расположении каждого кода.

Образец Справочная статья
Отслеживание QR-кодов в Unity QR-коды

Пример средства для отслеживания плаката

Часто бывает полезно привязать голограмму к объекту реального мира или привязать несколько устройств HoloLens к общему набору мировых координат, чтобы все участники видели одни голограммы в одном расположении. Например, в сцене Unity вы можете добавить "плакат" и привязать к нему свою сцену (например, игровую доску), а затем добавить голограммы к нему или вокруг него. Затем вы можете распечатать плакат, положить его на стол и запустить средство калибровки или привязки, которое переместит голографическую версию плаката таким образом, чтобы он совпал с физической версией плаката. Это приведет к перемещению всех связанных голограмм на правильное расположение.

Образец Справочная статья
Пример калибровки плаката См. пример файла сведений.

Создание цифровых двойников в смешанной реальности

В этой примере описывается, как создать приложение смешанной реальности для HoloLens 2 с помощью Azure Digital Twins и Unity, платформы трехмерного содержимого, работающей в режиме реального времени.

Образец Справочная статья
Создание цифровых двойников для смешанной реальности с помощью Azure Digital Twins и Unity Полная схема обучения

Захват данных с камеры

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

Запись голограмм с помощью приложения "Съемка смешанной реальности"

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

Образец Справочная статья
Примеры для приложения "Съемка смешанной реальности" Съемка смешанной реальности

Режим исследования

Режим исследования реализован в первом поколении HoloLens для обеспечения доступа к ключевым датчикам на устройстве специально для исследовательских приложений, которые не предназначены для развертывания. Примеры приложений, приведенные ниже, демонстрируют возможности получения доступа к потокам и их записи в режиме исследования, а также использования встроенных и внешних объектов.

Пример приложения Справочная статья
HoloLens (1-го поколения) Режим исследования
HoloLens 2 Режим исследования

Голографическое удаленное взаимодействие

Holographic Remoting Player — это дополнительное приложение, которое подключается к приложениям и играм для ПК с поддержкой голографического удаленного взаимодействия. Голографическое удаленное взаимодействие в реальном времени отправляет поток голографического содержимого с компьтера на Microsoft HoloLens по Wi-Fi. Оно поддерживается в HoloLens (1-го поколения) и HoloLens 2.

Образец Справочная статья
Примеры голографического удаленного взаимодействия Обзор удаленного голографического взаимодействия