заметки о выпуске Microsoft Mixed Reality набор средств 2,5

Важно!

существует известная ошибка компилятора, влияющая на приложения, созданные для Microsoft HoloLens 2 с помощью ARM64. эта проблема устранена путем обновления Visual Studio 2019 до версии 16,8 или более поздней. если не удается обновить Visual Studio, импортируйте com.microsoft.mixedreality.toolkit.tools пакет, чтобы применить обходной путь.

Новые возможности в 2.5.4

Устраняет ошибку с интеграцией Окулус при использовании УПМ

При использовании УПМ Окулусксрсдкдевицеманажерпрофиле всегда будет иметь значение None во время запуска. В этом выпуске настраивается диспетчер устройств, указывающий на рабочий набор Prefabs при запуске.

Устраняет проблему с Опенкср через УПМ

устраняет проблему, из-за которой поставщики опенкср не были добавлены в link.xml по умолчанию, что приводит к невозможности запуска новых проектов на устройстве при использовании опенкср и мртк через диспетчер пакетов Unity. Существующие проекты, которые были обновлены, по-прежнему потребуется добавить вручную.

Новые возможности в 2.5.3

Устраняет регрессию с помощью Окулус, появившихся в 2.5.2

в 2.5.2 появилась ошибка сборки при интеграции пакета SDK для Окулус. Этот выпуск возвращает эту ошибку.

Новые возможности в 2.5.2

Добавление поддержки для Опенкср

Добавлена первоначальная поддержка пакета предварительной версии Опенкср Unity и пакета Опенкср для смешанной реальности Microsoft. Дополнительные сведения см. на странице Приступая к работе с мртк/ксрсдк, на форуме Unityили в документации Майкрософт .

Важно!

Опенкср в Unity поддерживается только в Unity 2020,3 и более поздних версиях. Он также поддерживает только сборки x64, ARM и ARM64.

Исправлены ошибки визуализации границ

Теперь визуализации границ, такие как этаж или стенки, будут правильно настроены и видны во время выполнения в соответствии с профилем границы.

MSBuild поддержки Unity

поддержка MSBuild для Unity была удалена в выпуске 2.5.2 для согласования с новым руководством по пакетам unity.

Новые возможности в 2.5.1

Исправлены ошибки зависимостей пакета

В этом выпуске исправлена неправильная зависимость файлов между пакетами (например, файлы в стандартных ресурсах больше не являются неправильными ссылками на файлы в Foundation). Версия 2.5.1 также добавляет явную зависимость от Pro сетки текста.

Текстуры пакетов стандартных активов, скопированные в активы/МРТК/шейдеры

Когда пакет стандартных активов устанавливается через УПМ, шейдеры копируются в папку Assets/МРТК/шейдеры, чтобы они больше не были неизменными. Это позволяет устранить проблему, обновленную шейдером для универсального конвейера отрисовки (URP), отменяя прежнее поведение при следующем загрузке проекта.

Исправленный курсор телепортируйтесь, прикрепленный к руки

В этом выпуске Исправлена проблема , из которой курсор назначений телепортируйтесь может прикрепить к визуальным элементам.

Новые возможности в 2.5.0

поддержка Unity диспетчер пакетов (упм)

теперь набор средств смешанной реальности можно управлять с помощью диспетчер пакетов Unity.

Пакет УПМ МРТК Foundation

Примечание

Для импорта пакетов УПМ МРТК необходимо выполнить некоторые действия вручную. дополнительные сведения см. в набор средствах смешанной реальности и диспетчер пакетов Unity .

Поддержка пакета SDK для Окулус Quest XR

МРТК теперь поддерживает запуск головных и видеоконтроллеров Окулус с помощью собственного конвейера пакета SDK XR. Также поддерживается отслеживание вручную с пакетом Unity для Окулус , спасибо за мртк-Quest!

Инструкции по развертыванию устройства в Окулус Quest с помощью нового конвейера см. в разделе Руководство по установке Окулус Quest .

Прокрутка коллекции объектов

Компонент UX МРТК был обновлен с экспериментальной функции и предоставляет больше возможностей для размещения трехмерного содержимого разного размера благодаря добавленной поддержке объектов, не подключенных к объектам. Также добавлен новый параметр для отключения маскирования содержимого, что упрощает создание прототипов.

Дополнительные сведения см. в разделе Коллекция объектов с прокруткой .

Прокрутка коллекции объектов

Улучшение анимации, обработки и улучшения звука с указателями телепортируйтесь

Теперь у указателя телепортируйтесь появилась Улучшенная анимация и отзывы о звуках. Мы также улучшили обработку указателя телепортируйтесь, чтобы он обрабатывался более гладко при переходе от ближайших поверхностей к поверхности.

Лист Памятка по моделирования входных данных

Сцена Хандинтерактионексамплес теперь имеет настраиваемый ярлык для отображения страницы справки для имитации ввода

Лист Памятка по моделирования входных данных

Взгляд на имитацию ввода с помощью мыши

Теперь пользователи могут использовать мышь для имитации отслеживания взгляда. Просмотрите Eye Simulation Mode поле в профиле моделирования ввода и установите его в качестве указателя мыши. Это заменяет предыдущее Simulate Eye Position поле.

Мышь взгляда на глаз

Контроллер движения для имитации входа в редакторе в режиме воспроизведения

Теперь пользователи могут имитировать контроллер движения, как и в режиме воспроизведения редактора. Кнопки триггера, захвата и меню в настоящее время поддерживаются.

Закрестный указатель для захвата

Теперь указатели захвата можно настроить для запроса ближайших объектов с помощью конуса от точки захвата, а не сферы. это более точно напоминает поведение интерфейса HoloLens 2 по умолчанию, который запрашивает ближайшие объекты с помощью конуса. DefaultHoloLens2InputSystemProfile также был скорректирован для использования нового ConicalGrabPointer .

Закрестный указатель для захвата

Пакет Тестутилитиес

теперь пакет (Microsoft. микседреалити. набор средств. Unity. Тестутилитиес. 2.5.0. пакет unitypackage), который содержит инфраструктуру тестирования Плаймоде и Тестмоде, которую МРТК использует для создания сквозных тестов. Эта инфраструктура чрезвычайно удобна для самой команды МРТК, и мы рады, что потребители используют его для добавления покрытия тестирования в собственные проекты.

В следующем коде показано, как создать тестовую часть, показать ее в определенном месте, переместить, а затем выполнить сжатие.

TestHand leftHand = new TestHand(Handedness.Left);
yield return leftHand.Show(new Vector3(-0.1f, -0.1f, 0.5f));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Pinch);
yield return leftHand.Move(new Vector3(0.2f, 0.2f, 0));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Open);

Инструкции по написанию теста с помощью этих Тестутилитиес см. в этом разделе, посвященном написанию тестов.

Примеры существующих тестов, использующих эту инфраструктуру, см. в разделе МРТК плаймодетестс.

Поддержка модулей Unity для LEAP Motion 4.5.1

Добавлена поддержка модулей Unity для управления LEAP версии 4.5.1, и поддержка ресурсов 4.4.0 была удалена. Текущие поддерживаемые версии модулей Unity для платформы LEAP — 4.5.0 и 4.5.1.

Кроме того, существует дополнительный шаг для начальной интеграции с LEAP. Дополнительные сведения см. в статье Настройка отслеживания перемещения по LEAP в мртк .

Наблюдатель сетки с поддержкой пространственных данных лучше обрабатывает настройку материалов

В этом выпуске Windows Mixed Reality Spatial Mesh Observer компоненты и Generic XR SDK Spatial Mesh Observer имеют улучшенную обработку визуальных материалов. Теперь материалы сохраняются при обновлении сетки наблюдателем, где ранее они были сброшены в Висиблематериал по умолчанию, как указано в профиле.

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

Link.xml, созданный в папке Микседреалититулкит. Generated

С введением диспетчера пакетов Unity МРТК, МРТК теперь записывает link.xml файл в Assets/MixedRealityToolkit.Generated папку, если он отсутствует. Рекомендуется добавить этот файл (и link.xml.meta ) в систему управления версиями. Link.xml используется, чтобы повлиять на функции компоновщика Unity на управляемом коде .

Дополнительные сведения о файле link.xml МРТК можно найти в статье мртк и управляемый код .

Диалоговое окно настройки Unity 2019.3 +: МРТК больше не пытается включить поддержку устаревших XR

Чтобы избежать потенциальных конфликтов при использовании платформы XR Unity, параметр включения поддержки устаревших XR был удален из диалогового окна настройки МРТК. при необходимости можно включить устаревшую поддержку XR в Unity 2019, используя Edit > Project Параметры > Player > XR Параметры > виртуальная реальность поддерживается.

Сокращение расходов на Инитиализеонлоад

Мы сделали работу, чтобы сократить объем работы, выполняемый в обработчиках Инитиализеонлоад, что должно привести к улучшению скорости разработки внутреннего цикла. Обработчики Инитиализеонлоад запускаются каждый раз при компиляции скрипта, перед входом в режим воспроизведения и при запуске редактора. Эти обработчики теперь выполняются в гораздо меньшем количестве случаев, что приводит к увеличению скорости реагирования Unity.

В некоторых случаях было необходимо установить компромисс:

Элемент управления границами с градиентом

Элемент управления границами

Управление границами выходит за пределы экспериментального и включает целый ряд новых функций и тонн исправлений ошибок. Ниже приведен список основных особенностей этого обновления.

  • свойства разбиваются на конфигурации, что упрощает настройку элемента управления "границы"
  • конфигурации могут совместно использоваться объектами, поддерживающими сценарии
  • Каждое свойство или свойство, поддерживающее скрипт, можно настроить в среде выполнения
  • Платформа управления границами больше не создается повторно при изменении свойства
  • поддержка дескрипторов перевода
  • Поддержка полного ограничения с помощью диспетчера ограничений
  • Интеграция системы эластичных баз данных (экспериментальная)

Старый ограничивающий прямоугольник теперь устарел и существующие игровые объекты с помощью ограничивающего прямоугольника можно обновить с помощью средства миграции или инспектора ограничивающего прямоугольника.

Компонент диспетчера ограничений

Ограничения теперь могут использоваться как, элементом управления "границы", так и манипулятором объекта с помощью нового компонента диспетчера ограничений. Оба компонента создают диспетчер ограничений для каждого значения по умолчанию и автоматически обрабатывают все подключенные ограничения.

Кроме того, в Диспетчер ограничений автоматического поведения входит ручной режим, позволяющий пользователям решить, какое ограничение следует обработать. По этой причине ограничения в инспекторе свойств отображаются немного.

Inspector view showing manual constraint manager selection

Ограничения, применяемые к компоненту, теперь отображаются в виде списка в компоненте "Диспетчер ограничений", тогда как компонент, использующий диспетчер ограничений ( элемент управления "границы " или манипулятор объекта), теперь будет отображать выбранный диспетчер ограничений и режим (авто или вручную). Дополнительные сведения см. в разделе " Менеджер по ограничениям " в наших документах.

обновление материала кнопки HoloLens 2

обновленный материал передней части кнопки HoloLens 2 для удаления черного цвета в нормативных планах.

обновление материала кнопки HoloLens 2

Обновление панели описания, перемещаемый пример сцены

Обновленная панель описания. (Сценедескриптионпанелрев. prefab) новая структура — это верхняя полоска, которая позволяет пользователю изменять или перемещать всю сцену.

Обновление панели описания

Визуализация пространственной сетки — импульс в Air — TAP

обновленный пример шейдера пульса для пространственной сетки соответствует поведению оболочки HoloLens 2.

Импульс в Air — TAP

Эластичная система (экспериментальная)

Эластичные System2

МРТК теперь поставляется с системой эластичного моделирования , которая включает в себя широкий спектр расширяемых и гибких подклассов, предлагая привязки для 4-мерных пружины, трехмерных и простых линейных систем.

В настоящее время следующие компоненты МРТК, поддерживающие Диспетчер эластичных баз данных, могут использовать функциональные возможности эластичных БД:

Expanding an elastic menu Grabbing an elastic coffee cup

Джойстик (экспериментальный)

Пример интерфейса джойстика, который может управлять большим целевым объектом.

Джойстик

Палитра цветов (экспериментальная)

Экспериментальный элемент управления, который позволяет легко изменять цвета материалов на любом объекте во время выполнения.

Три разных метода элемента управления "Выбор цвета"

Четыре разных метода элемента управления "Выбор цвета"

Критические изменения

Изменения файлов определения сборки

Некоторые файлы асмдеф изменены, и теперь поддерживаются только Unity 2018.4.13 F1 или более поздней версии. При обновлении до МРТК 2,5 в более ранних версиях Unity будут отображаться ошибки компиляции. Это можно исправить, перейдя Assets\MRTK\Providers\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.asmdef в окно проекта и удалив недостающую ссылку в инспекторе. Повторите эти шаги с помощью Assets\MRTK\Providers\Oculus\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.Oculus.asmdef и Assets\MRTK\Providers\WindowsMixedReality\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.WMR.asmdef . Обратите внимание, что изменения необходимо отменить, заменив эти три асмдеф-файла исходными (т. е. неизмененными) при обновлении до Unity 2019.

имикседреалитипоинтермедиатор

Этот интерфейс был обновлен для создания функции:

void SetPointerPreferences(IPointerPreferences pointerPreferences);

Если у вас есть пользовательский указатель медиатора, который не является подкласс Дефаултпоинтермедиатор, необходимо реализовать эту новую функцию. Дополнительные сведения о том, почему он был добавлен, см. в этой статье . Это было добавлено, чтобы убедиться, что параметры указателя явно переданы в медиатора, вместо того, чтобы они были неявно выполнены на основе наличия конструктора, который принимал Ипоинтерпреференцес.

API-интерфейс для портала для RESTful и устройств

UseSSLСтатическое свойство было перемещено из Rest в DevicePortal .

Если вы сделали это ранее...

Rest.UseSSL = true

Сделать это сейчас...

DevicePortal.UseSSL = true

Link.xml

если приложение ранее использовало NuGetное распространение мртк, link.xml файл был удален из пакета Foundation. Чтобы восстановить правила сохранения кода, при открытии проекта в Unity будет создан файл по умолчанию link.xml в Assets/MixedRealityToolkit.Generated . Рекомендуется добавлять этот файл (и link.xml.meta ) в систему управления версиями.

Изменение ограничений преобразования

Свойство Таржеттрансформ помечено как устаревшее, так как оно не было использовано системой ограничений. Логика ограничения основана на преобразовании, переданном в методы Initialize и Apply. Пользовательские ограничения, зависящие от этого свойства, могут кэшировать Таржеттрансформ в своей реализации, сохраняя преобразование компонента ограничения для достижения того же поведения.

Сохраненный исходный worldPoseOnManipulationStart тип данных World изменился с микседреалитипосе на микседреалититрансформ, который включает значение локального масштаба для управляемого объекта. При таком изменении нет необходимости в отдельном кэшировании начальных значений масштаба.

Новое свойство в Имикседреалитидиктатионсистем

В AudioClip интерфейс имикседреалитидиктатионсистем Добавлено новое свойство. AudioClipСвойство обеспечивает доступ к аудиоклипу, связанному с текущим сеансом диктовки. Пользователи должны реализовать свойство в своих скриптах, реализующих интерфейс.

Интерфейсов службы, отключение

Интерфейсов служб выключаются в 2,5. Эта функция была изначально добавлена для упрощения настройки профилей МРТК (путем создания имитации в сцене объекты gameobject, которая представляет каждую из служб МРТК). В долгосрочной перспективе мы хотим избежать создания фиктивных объектов в игре и попытаться синхронизировать их (так как синхронизация данных и проблемы с источником истинно затрудняют масштабирование и получение прав).

В 2,5 обработчики фасаднойа службы, чтобы гарантировать, что обновление проекта выполняется без проблем. все интерфейсов, существующие в проекте, будут удалены обработчиком фасадной службы, чтобы обеспечить автоматическое исправление сцен, открытых в 2,5.

Оставшийся код, связанный с компонентом фасадной службы, будет удален в следующем выпуске.

Добавление контроллера движения в службу моделирования ввода

Моделирование контроллера движения теперь предлагается в режиме воспроизведения редактора вместе с существующей имитацией руки. Чтобы включить это изменение, многие текущие функции, поля и свойства теперь помечены как устаревшие, с InputSimulationService.cs MixedRealityInputSimulationProfile.cs получением наиболее значительных изменений. Логика и поведение соответствующего кода во многом остаются неизменными, а большинство устаревших функций и т. д. связаны с заменой ссылки на "руки" на более универсальный термин "Controller" (например DefaultHandSimulationMode , from to DefaultControllerSimulationMode ). Помимо получения новых имен, возвращаемый тип некоторых новых функций обновляется в соответствии с изменением имени или поведения (например, на GetControllerDevice основе первоначального возврата GetHandDevice BaseController вместо SimulatedHand ).

IInputSimulationService теперь имеет новые свойства MotionControllerDataLeft и MotionControllerDataRight . MixedRealityInputSimulationProfile Теперь включает новые поля для назначения сочетаний клавиш определенными кнопками контроллера движения.

Известные проблемы

Камеракаче может создать новую камеру при завершении работы

В некоторых ситуациях (например, при использовании поставщика Леапмотион в редакторе Unity) Камеракаче может повторно создать Маинкамера при завершении работы. Дополнительные сведения см. в этой статье .

FileNotFoundException при импорте примеров с помощью Unity диспетчер пакетов

в зависимости от длины пути проекта импорт примеров через Unity диспетчер пакетов может создавать сообщения FileNotFoundException в консоли unity. Причина в том, что путь к файлу "Missing" превышает MAX_PATH (256 символов). Чтобы устранить проблему, Сократите длину пути к проекту.

Спатиализер не указан. Приложение не будет поддерживать Пространственный звук

Предупреждение "не указано спатиализер" отображается, если не настроено звуковое спатиализер. Это может произойти, если пакет XR не установлен, так как Unity включает спатиализерс в эти пакеты.

Чтобы устранить эту проблему, убедитесь, что:

  • Окно > на диспетчер пакетов установлен один или несколько пакетов XR

  • набор средств смешанной реальности > Служебные программы > настройте Project Unity и сделайте выбор для аудио спатиализер

    Выберите Audio Спатиализер

NullReferenceException: ссылка на объект не задает экземпляр объекта (SceneTransitionService.Iniтиализе)

В некоторых ситуациях открытие EyeTrackingDemo-00-RootScene может вызвать NullReferenceException в методе Initialize класса сценетранситионсервице. Эта ошибка возникает из-за того, что профиль конфигурации службы смены сцены не установлен. Чтобы устранить эту проблему, выполните следующие действия.

  • Переход к MixedRealityToolkit объекту в иерархии
  • В окне инспектора выберите Extensions
  • Если не развернуто, разверните узел Scene Transition Service
  • Присвойте параметру Configuration Profile значение мрткексамплешубсценетранситионсервицепрофиле .

Исправить переход сцены

Oculus Quest.

В настоящее время существует известная ошибка при использовании подключаемого модуля Окулус XR с целью использования изолированных платформ. Ознакомьтесь с разметкой об ошибках Окулус, а также с заметками о выпуске для обновлений.

Ошибка указывает на этот набор из трех ошибок:

Ошибка подключаемого модуля XR Окулус

Унитюи и Текстмешпро

Существует известная ошибка для новых версий Текстмешпро (1.5.0 + или более поздней версии), где размер шрифта по умолчанию для раскрывающихся списков и интервалы между символами шрифта были изменены.

Образ TMP

Это можно обойти, понизить до более ранней версии Текстмешпро. Дополнительные сведения см. в разделе о выпуске #8556 .