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