Поделиться через


Пакеты MRTK — MRTK2

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

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

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

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

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

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

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

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

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

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

Пакет Foundation

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

Основа Pakage Пакет MRTK Foundation

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

Папка Компонент Description
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 Смешанная реальность, включая Microsoft HoloLens и иммерсивные гарнитуры.
Windows Поддержка определенных API Microsoft Windows, например распознавание речи и диктовки.
Пакет SDK для XR (Экспериментальный) Поддержка новой платформы XR Unity в Unity 2019.3 и более поздней версии.
MRTK/SDK
Экспериментальный Экспериментальные функции, включая шейдеры, элементы управления пользовательским интерфейсом и отдельные системные диспетчеры.
Функции Функциональные возможности, которые создаются на основе пакета Foundation.
Профили Профили по умолчанию для систем и служб Microsoft Смешанная реальность Toolkit.
StandardAssets Общие ресурсы; модели, текстуры, материалы и т. д.
MRTK/SceneSystemResources Ресурсы и ресурсы, используемые системой сцены
MRTK/Services
Граничная система Система реализации поддержки границ виртуальной реальности.
CameraSystem Система реализации конфигурации камеры и управления.
DiagnosticsSystem Система, реализуемая в диагностика приложения, например визуальный профилировщик.
InputSystem Система обеспечивает поддержку доступа и обработки входных данных пользователей.
SceneSystem Система, обеспечивающая поддержку приложений с несколькими сценами.
SpatialAwarenessSystem Система обеспечивает поддержку осведомленности о среде пользователя.
TeleportSystem Система обеспечивает поддержку телепортирования (перемещение по интерфейсу перехода).
MRTK/StandardAssets Шейдер MRTK standard, базовые материалы и другие стандартные ресурсы для взаимодействия с смешанной реальностью

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

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

Примечание.

Пакет расширений требует Microsoft.MixedRealityToolkit.Unity.Foundation.

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

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

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

Примечание.

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

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

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

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

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

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

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

Сцена HandInteractionExample

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

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

Примечание.

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

Папка Компонент Description
MRTK/Examples
Демонстрационные материалы Простые сцены, иллюстрирующие одну или две связанные функции.
Экспериментальный Демонстрационные сцены, иллюстрирующие экспериментальные функции.
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) формирует основу набора средств Смешанная реальность.

Папка Компонент Description
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 Смешанная реальность, включая Microsoft HoloLens и иммерсивные гарнитуры.
Windows Поддержка определенных API Microsoft Windows, например распознавание речи и диктовки.
Пакет SDK для XR (Экспериментальный) Поддержка новой платформы XR Unity в Unity 2019.3 и более поздней версии.
MRTK/SDK
Экспериментальный Экспериментальные функции, включая шейдеры, элементы управления пользовательским интерфейсом и отдельные системные диспетчеры.
Функции Функциональные возможности, которые создаются на основе пакета Foundation.
Профили Профили по умолчанию для систем и служб Microsoft Смешанная реальность Toolkit.
StandardAssets Общие ресурсы; модели, текстуры, материалы и т. д.
MRTK/Services
Граничная система Система реализации поддержки границ виртуальной реальности.
CameraSystem Система реализации конфигурации камеры и управления.
DiagnosticsSystem Система, реализуемая в диагностика приложения, например визуальный профилировщик.
InputSystem Система обеспечивает поддержку доступа и обработки входных данных пользователей.
SceneSystem Система, обеспечивающая поддержку приложений с несколькими сценами.
SpatialAwarenessSystem Система обеспечивает поддержку осведомленности о среде пользователя.
TeleportSystem Система обеспечивает поддержку телепортирования (перемещение по интерфейсу перехода).

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

Папка Компонент Description
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.

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

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

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

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

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

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

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

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

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

См. также