Пакеты MRTK — MRTK2

Смешанная реальность Toolkit (MRTK) — это набор пакетов, которые обеспечивают кроссплатформенную Смешанная реальность разработку приложений, обеспечивая поддержку Смешанная реальность оборудования и платформ.

MRTK доступен в виде пакетов ресурса (.unitypackage) и через диспетчер пакетов Unity.

Пакеты активов

Ресурс MRTK (.unitypackage) можно скачать с сайта GitHub.

Ниже перечислены некоторые преимущества использования пакетов ресурсов.

  • Доступно для Unity 2018.4 и более новых версий
  • Легко вносить изменения в MRTK
    • MRTK находится в папке Assets

При этом, помимо прочего, возникают следующие трудности:

  • MRTK является частью папки "Активы" проекта, что приводит к
    • Крупные проекты
    • Более медленное время компиляции
  • Отсутствие управления зависимостями
    • Клиентам требуется разрешить зависимости пакетов вручную.
  • Процесс обновления вручную
    • Несколько шагов
    • Обновления системы управления версиями (3000+ файл)
    • Риск потери изменений, внесенных в MRTK
  • Импорт пакета примеров обычно означает включение всех примеров

Доступные пакеты:

Эти пакеты выпускаются и поддерживаются корпорацией Майкрософт из исходного кода на сайте GitHub.

Пакет Foundation

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

Пакет Pakage foundationMRTK Foundation

Пакет MRTK Foundation содержит следующий код.

Папка Компонент Описание
MRTK/Core Определения интерфейсов и типов, базовые классы, стандартный шейдер.
MRTK/Core/Providers Поставщики не зависящих от платформы данных
Руки Поддержка базового класса и службы для отслеживания рук.
InputAnimation Поддержка записи данных перемещения головы и отслеживания рук.
InputSimulation Поддержка имитации ввода в редакторе.
ObjectMeshObserver Наблюдатель пространственной осведомленности, использующий трехмерную модель в качестве данных.
UnityInput Распространенные устройства ввода (джойстик, мышь и т. д.), реализованные с помощью API ввода Unity.
MRTK/Providers Поставщики данных для конкретной платформы
LeapMotion Поддержка контроллера движения UltraLeap Leap.
OpenVR: Поддержка устройств OpenVR.
Oculus Поддержка устройств Oculus, таких как Quest.
UnityAR (Экспериментальный) Поставщик параметров камеры, позволяющий использовать MRTK с мобильными устройствами AR.
WindowsMixedReality Поддержка Windows Mixed Reality устройств, включая Microsoft HoloLens и иммерсивные гарнитуры.
Windows Поддержка определенных API Microsoft Windows, например распознавание речи и диктовки.
Пакет SDK для XR (Экспериментальный) Поддержка новой платформы XR Unity в Unity 2019.3 и более поздней версии.
MRTK/SDK
Экспериментальный Экспериментальные функции, включая шейдеры, элементы управления пользовательским интерфейсом и отдельные системные диспетчеры.
Компоненты Функциональные возможности, которые создаются на основе пакета Foundation.
Профили Профили по умолчанию для систем и служб Microsoft Смешанная реальность Toolkit.
StandardAssets Общие ресурсы; модели, текстуры, материалы и т. д.
MRTK/SceneSystemResources Ресурсы и ресурсы, используемые системой сцены
MRTK/Services
BoundarySystem Система, реализуемая граничная поддержка виртуальной реальности.
CameraSystem Система, реализующая конфигурацию камеры и управление ими.
DiagnosticsSystem Система, реализуемая в диагностике приложений, например визуальный профилировщик.
InputSystem Система, обеспечивающая поддержку доступа к входным данным пользователя и их обработке.
SceneSystem Система, предоставляющая поддержку приложений с несколькими сценами.
SpatialAwarenessSystem Система, обеспечивающая поддержку осведомленности о среде пользователя.
TeleportSystem Система, обеспечивающая поддержку телепортирования (перемещение по интерфейсу при переходе).
MRTK/StandardAssets Шейдер MRTK standard, базовые материалы и другие стандартные ресурсы для смешанной реальности

Пакет расширений

Необязательный пакет Microsoft.MixedRealityToolkit.Unity.Extensions включает дополнительные службы, расширяющие функциональные возможности Microsoft Смешанная реальность Toolkit.

Примечание

Для пакета расширений требуется Microsoft.MixedRealityToolkit.Unity.Foundation.

Папка Компонент Описание
MRTK/Extensions
HandPhysicsService Служба, которая добавляет физики поддержку для сформулированных рук.
LostTrackingService Служба, которая упрощает обработку потери данных отслеживания на Microsoft HoloLens устройствах.
SceneTransitionService Служба, упрощающая добавление плавных переходов сцены.

Пакет инструментов

Дополнительный пакет Microsoft.MixedRealityToolkit.Unity.Tools включает полезные инструменты, которые расширяют возможности разработки смешанной реальности с помощью Microsoft Смешанная реальность Toolkit. Эти средства находятся в меню Смешанная реальность Toolkit > Utilities в редакторе Unity.

Примечание

Для пакета средств требуется Microsoft.MixedRealityToolkit.Unity.Foundation.

Папка Компонент Описание
MRTK/Tools
BuildWindow Средство, которое помогает упростить процесс создания и развертывания приложений UWP.
DependencyWindow Средство, которое создает граф зависимостей ресурсов в проекте.
ExtensionServiceCreator Мастер для создания служб расширений.
MigrationWindow Средство, помогающее обновить код, использующий устаревшие компоненты MRTK.
OptimizeWindow Служебная программа для автоматизации настройки проекта смешанной реальности для оптимальной производительности в Unity.
ReserializeAssetsUtility Обеспечивает поддержку повторной инициализации определенных файлов Unity.
RuntimeTools/Tools/ControllerMappingTool Служебная программа позволяет разработчикам быстро определять сопоставления Unity для аппаратных контроллеров.
ScreenshotUtility Включает запись изображений приложений в редакторе Unity.
TextureCombinerWindow Служебная программа для объединения графических текстур.
Панель элементов Пользовательский интерфейс, упрощающий обнаружение и использование компонентов пользовательского интерфейса MRTK.

Пакет служебных программ для тестирования

Необязательный пакет Microsoft.MixedRealityToolkit.TestUtilities — это набор вспомогательных скриптов, позволяющих разработчикам легко создавать тесты в режиме воспроизведения. Эти служебные программы особенно полезны для разработчиков, создающих компоненты MRTK.

Папка Компонент Описание
MRTK/Tests
TestUtilities Методы для упрощения создания тестов в режиме воспроизведения, включая служебные программы имитации рук.

Пакет примеров

Пакет примеров содержит демонстрации, примеры сценариев и примеры сцен, которые осуществляют функциональные возможности в базовом пакете. Этот пакет содержит сцену HandInteractionExample (на рисунке ниже), содержащую образцы объектов, которые реагируют на различные типы рукописного ввода (сформулированные и не сформулированные).

Сцена HandInteractionExample

Этот пакет также содержит демонстрации отслеживания взглядов, которые описаны здесь

Как правило, любая новая функция в MRTK должна содержать соответствующий пример в пакете примеров, примерно следуя той же структуре папок и расположению.

Примечание

Для пакета примеров требуется Microsoft.MixedRealityToolkit.Unity.Foundation.

Папка Компонент Описание
MRTK/Examples
Демонстрационные материалы Простые сцены, иллюстрирующие одну или две связанные функции.
Экспериментальный Демонстрационные сцены, иллюстрирующие экспериментальные функции.
Стандартные наборы Общие ресурсы, общие для нескольких демонстрационных сцен.

Диспетчер пакетов Unity

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

Ниже перечислены некоторые преимущества использования пакетов ресурсов.

  • Небольшие проекты
    • Очистка решений Visual Studio
    • Меньше файлов для возврата (MRTK является простой ссылкой в Packages/manifest.json файле)
  • Более быстрая компиляция
    • Unity не требуется перекомпилировать MRTK во время сборки
  • Разрешение зависимостей
    • Необходимые пакеты MRTK устанавливаются автоматически при указании пакетов с зависимостями
  • Простое обновление до новых версий MRTK
    • Изменение версии в Packages/manifest.json файле

При этом, помимо прочего, возникают следующие трудности:

  • MRTK является неизменяемым
    • Не удается внести изменения без удаления во время разрешения пакета
  • MRTK не поддерживает пакеты UPM с Unity 2018.4

Пакет Foundation

Базовый пакет (com.microsoft.mixedreality.toolkit.foundation) формирует основу Смешанная реальность Toolkit.

Папка Компонент Описание
MRTK/Core Определения интерфейсов и типов, базовые классы, стандартный шейдер.
MRTK/Core/Providers Поставщики не зависящих от платформы данных
Руки Поддержка базового класса и службы для отслеживания рук.
InputAnimation Поддержка записи данных отслеживания движения головы и рук.
InputSimulation Поддержка имитации рукописного и глазного ввода в редакторе.
ObjectMeshObserver Наблюдатель пространственной осведомленности, использующий трехмерную модель в качестве данных.
UnityInput Распространенные устройства ввода (джойстик, мышь и т. д.), реализованные с помощью API ввода Unity.
MRTK/Providers Поставщики данных для конкретной платформы
LeapMotion Поддержка контроллера движения UltraLeap Leap.
OpenVR: Поддержка устройств OpenVR.
Oculus Поддержка устройств Oculus, таких как Quest.
UnityAR (Экспериментальный) Поставщик параметров камеры, позволяющий использовать MRTK с мобильными устройствами AR.
WindowsMixedReality Поддержка Windows Mixed Reality устройств, включая Microsoft HoloLens и иммерсивные гарнитуры.
Windows Поддержка определенных API Microsoft Windows, например распознавание речи и диктовки.
Пакет SDK для XR (Экспериментальный) Поддержка новой платформы XR Unity в Unity 2019.3 и более поздней версии.
MRTK/SDK
Экспериментальный Экспериментальные функции, включая шейдеры, элементы управления пользовательским интерфейсом и отдельные системные диспетчеры.
Компоненты Функциональные возможности, которые создаются на основе пакета Foundation.
Профили Профили по умолчанию для систем и служб Microsoft Смешанная реальность Toolkit.
StandardAssets Общие ресурсы; модели, текстуры, материалы и т. д.
MRTK/Services
BoundarySystem Система, реализуемая граничная поддержка виртуальной реальности.
CameraSystem Система, реализующая конфигурацию камеры и управление ими.
DiagnosticsSystem Система, реализуемая в диагностике приложений, например визуальный профилировщик.
InputSystem Система, обеспечивающая поддержку доступа к входным данным пользователя и их обработке.
SceneSystem Система, предоставляющая поддержку приложений с несколькими сценами.
SpatialAwarenessSystem Система, обеспечивающая поддержку осведомленности о среде пользователя.
TeleportSystem Система, обеспечивающая поддержку телепортирования (перемещение по интерфейсу при переходе).

Зависимости.

  • Стандартные ресурсы (com.microsoft.mixedreality.toolkit.standardassets)

Стандартные ресурсы

Стандартный пакет ресурсов (com.microsoft.mixedreality.toolkit.standardassets) это коллекция компонентов, рекомендуемых для всех сценариев смешанной реальности, в том числе:

  • Шейдер MRTK standard
  • Базовые материалы с помощью шейдера MRTK standard
  • Аудиофайлы
  • Fonts
  • Текстуры
  • Значки

Примечание

Чтобы избежать критических изменений на основе определений сборок, скрипты, используемые для управления некоторыми функциями стандартного шейдера MRTK, не включаются в пакет стандартных ресурсов. Эти скрипты можно найти в базовом пакете в папке MRTK/Core/Utilities/StandardShader .

Зависимости: нет

Пакеты расширений

Дополнительный пакет расширений (com.microsoft.mixedreality.toolkit.extensions) содержит дополнительные компоненты, расширяющие функциональные возможности MRTK.

Папка Компонент Описание
MRTK/Extensions
HandPhysicsService Служба, которая добавляет физики поддержку в сформулированные руки.
LostTrackingService Служба, которая упрощает передачу данных об отслеживании потери на Microsoft HoloLens устройствах.
SceneTransitionService Служба, которая упрощает добавление плавных переходов сцены.
Примеры~ Скрытая папка (в редакторе Unity), содержащая примеры сцен и ресурсов.

Дополнительные сведения о процессе использования пакетов, содержащих примеры проектов, см. в статье Смешанная реальность Toolkit and Unity Package Manager.

Зависимости.

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

Пакет средств

Необязательный пакет инструментов (com.microsoft.mixedreality.toolkit.tools) содержит инструменты, полезные для создания возможностей смешанной реальности. Как правило, эти средства являются компонентами редактора, и их код не отправляется как часть приложения.

Папка Компонент Описание
MRTK/Tools
BuildWindow Инструмент, помогающий упростить процесс создания и развертывания приложений UWP.
DependencyWindow Средство, которое создает граф зависимостей ресурсов в проекте.
ExtensionServiceCreator Мастер для создания служб расширений.
MigrationWindow Средство, которое помогает обновить код, использующий устаревшие компоненты MRTK.
OptimizeWindow Служебная программа для автоматизации настройки проекта смешанной реальности для оптимальной производительности в Unity.
ReserializeAssetsUtility Обеспечивает поддержку повторной инициализации определенных файлов Unity.
RuntimeTools/Tools/ControllerMappingTool Служебная программа позволяет разработчикам быстро определять сопоставления Unity для аппаратных контроллеров.
ScreenshotUtility Включает запись изображений приложений в редакторе Unity.
TextureCombinerWindow Служебная программа для объединения графических текстур.
Панель элементов Пользовательский интерфейс, упрощающий обнаружение и использование компонентов пользовательского интерфейса MRTK.

Зависимости.

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

Пакет тестовых служебных программ

Необязательный пакет служебных программ тестирования (com.microsoft.mixedreality.toolkit.testutilities) содержит коллекцию вспомогательных скриптов, которые позволяют разработчикам легко создавать тесты в режиме воспроизведения. Эти служебные программы особенно полезны для разработчиков, создающих компоненты MRTK.

Папка Компонент Описание
MRTK/Tests
TestUtilities Методы для упрощения создания тестов в режиме воспроизведения, включая служебные программы имитации рук.

Зависимости.

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)

Примеры пакета

Пакет примеров (com.microsoft.mixedreality.toolkit.examples) структурирован, чтобы разработчики могли импортировать только интересующие вас примеры.

Дополнительные сведения о процессе использования пакетов, содержащих примеры проектов, см. в статье Смешанная реальность Toolkit and Unity Package Manager.

Папка Компонент Описание
MRTK/Examples
Примеры~ Скрытая папка (в редакторе Unity), содержащая примеры сцен и ресурсов.
StandardAssets Общие ресурсы, общие для нескольких демонстрационных сцен.

Зависимости.

  • Foundation (com.microsoft.mixedreality.toolkit.foundation)
  • Расширения (com.microsoft.mixedreality.toolkit.extensions)

См. также раздел