Пакеты MRTK — MRTK2
Смешанная реальность Toolkit (MRTK) — это коллекция пакетов, которые позволяют разрабатывать кроссплатформенные Смешанная реальность приложения, предоставляя поддержку Смешанная реальность оборудования и платформ.
MRTK доступен как пакеты asset (unitypackage) и через диспетчер пакетов Unity.
Пакеты активов
Ресурс MRTK (.unitypackage) можно скачать с GitHub.
Ниже приведены некоторые преимущества использования пакетов ресурсов:
- Доступно для Unity 2018.4 и более поздней версии
- Легко вносить изменения в MRTK
- MRTK находится в папке "Активы"
При этом, помимо прочего, возникают следующие трудности:
- MRTK является частью папки ресурсов проекта, что приводит к
- Более крупные проекты
- Более медленное время компиляции
- Без управления зависимостями
- Клиентам требуется разрешить зависимости пакетов вручную.
- Процесс обновления вручную
- Несколько шагов
- Обновления системы управления версиями большого размера (3000+ файлов)
- Риск потери изменений, внесенных в MRTK
- Импорт пакета примеров обычно означает, включая все примеры
Доступные пакеты:
Эти пакеты выпускаются и поддерживаются корпорацией Майкрософт из исходного кода на сайте GitHub.
Пакет Foundation
Смешанная реальность Toolkit 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 (на рисунке ниже), содержащую примеры объектов, которые отвечают на различные типы ввода рук (сформулированные и не сформулированные).
Этот пакет также содержит демонстрации отслеживания глаз, которые описаны здесь
Как правило, любая новая функция в 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
)