Пакеты MRTK — MRTK2

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

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

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

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

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

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

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

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

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

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

Базовый пакет

Смешанная реальность 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/Службы
BoundarySystem Система, реализуя поддержку границ виртуальной реальности.
CameraSystem Система, реализуя конфигурацию камеры и управление ею.
DiagnosticsSystem Система, реализуемая в приложении диагностика, например визуальный профилировщик.
InputSystem Система, обеспечивающая поддержку доступа и обработки входных данных пользователем.
SceneSystem Система, обеспечивающая поддержку приложений с несколькими сценами.
SpatialAwarenessSystem Система, обеспечивающая поддержку осведомленности о среде пользователя.
TeleportSystem Система, обеспечивающая поддержку телепортирования (перемещение по опыту в прыжках).
MRTK/StandardAssets Стандартный шейдер MRTK, базовые материалы и другие стандартные ресурсы для смешанной реальности

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

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

Примечание

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

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

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

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

Примечание

Пакет средств требует microsoft.MixedRealityToolkit.Unity.Foundation.

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

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

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

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

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

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

Сцена HandInteractionExample

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

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

Примечание

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

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

Диспетчер пакетов 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
  • Основные материалы с использованием стандартного шейдера MRTK
  • Аудиофайлы
  • Шрифты
  • Текстуры
  • Значки

Примечание

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

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

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

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

Папка Компонент Описание
MRTK и расширения
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 Служебная программа для объединения графических текстур.
Панель элементов Пользовательский интерфейс, упрощающий обнаружение и использование компонентов UX MRTK.

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

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

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

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

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

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

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

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

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

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

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

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

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

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