Заметки о выпуске Microsoft Mixed Reality Toolkit 2.8.0

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

Сообщества оказывают неоценимую поддержку

Выпуск MRTK 2.8.0 включает несколько исправлений ошибок, обнаруженных сообществом, а также новые нужные вам функции.

Сегодня мы хотим объявить новое название для следующей версии MRTK — MRTK3! С приближением выпуска новой версии MRTK мы хотим напомнить всем, насколько важным является вклад сообщества MRTK для реализации имеющихся и будущих возможностей этого пакета. Мы будем вам очень благодарны, если вы ознакомитесь с разделом MRTK3 стратегии развития MRTK, а также посмотрите обсуждение о создании кросс-платформенных взаимодействий смешанной реальности на GDC 2022, а затем поделитесь своими мнениями и идеями на форуме обсуждений репозитория MRTK или создадите заявку на новую функцию с пометкой "MRTK3". Скоро мы поделимся с вами подробной информацией о MRTK3 и будем с радостью ждать ваших отзывов.

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

поддержка OpenXR;

Мы значительно улучшили нашу поддержку конвейера OpenXR в версии 2.8.0, особенно для Oculus Quest и других устройств, отличных от HoloLens. Мы рекомендуем подключаемый модуль Microsoft OpenXR с конвейером OpenXR для развертывания проектов в HoloLens, Quest и на других платформах при использовании последних версий Unity 2020 LTS и Unity 2021 LTS. Если при использовании MRTK с конвейером OpenXR у вас возникнет какая-либо проблема, сообщите о ней в нашем репозитории GitHub.

Взгляд и сжатие

В MRTK 2.8.0 добавлен новый экспериментальный способ ввода — взгляд и сжатие. Теперь на объект можно нацелиться, посмотрев на него и выбрав его с помощью жеста сжатия. № 10193

PinchSliderBox и PinchSpring

MRTK 2.8.0 теперь поддерживает два новых экспериментальных компонента UX, о добавлении которых просили наши партнеры и дизайнеры. № 6445

Sample of PinchSliderBox running

Ползунок с градуированным шагом

Функциональность пошагового ползунка и касания скомбинирована в ползунок сжатия и уже предоставляется полностью (не в экспериментальном режиме). № 9983

Step Slider

Улучшения производительности

MRTK 2.8.0 работает намного плавнее с такими улучшениями производительности.

  • Лучи не выпускаются для GazeProvider, если его поведение задано № 10340
  • Улучшена обработка для излишних индикаторов близости № 10241
  • Различные улучшения производительности в активно используемых ветвях кода № 10601

Улучшения визуализации

MRTK 2.8.0 теперь имеет визуализацию контроллера и руки по умолчанию, если платформа не предоставляет такие визуализации. С пакетом Microsoft OpenXR вам не нужно импортировать пакет Oculus Integration для добавления визуализаций руки или контроллера Oculus.

  • Откаты модели контроллера № 10568
  • Визуализация Oculus теперь интегрирована в MRTK № 10067

Улучшения и исправления в MRTK 2.8.0

Улучшения профиля

В MRTK 2.8.0 реализованы некоторые улучшения профиля. Управление взглядом и поведением указателя теперь должно быть намного проще.

  • Переработана маска слоя профиля указателя № 10508
  • Уточнены описания LayerMask для луча и исправлены определения перегрузки указателя телепорта № 10507
  • Выполнен рефакторинг виртуальной руки в профиле HandTracking № 10608
  • Параметр возможности направления взгляда в конфигураторе теперь более согласован с текущим профилем MRTK № 10525
  • Исправлена проблема, из-за которой поиск соединений руки выдавал исключения словаря для визуализаторов № 10574
  • Исправлено мерцание курсора с одним кадром № 10436
  • Исправлена проблема, из-за которой курсоры удлинялись в некоторых случаях № 10503
  • Исправлены проблемы, из-за которых rayDistance и rayStepIndex вычислялись неправильно № 10506

Улучшения ввода

  • Вводный исходный родитель больше не кэшируется № 10561
  • Исправлена проблема, из-за которой поставщик взгляда принудительно сбрасывался при изменении профиля № 10510
  • Исправлено противоречивое поведение взаимодействий для перекрывающихся объектов № 10188
  • Исправлена разница в расчетах указаний при телекинезе между левой и правой руками № 10492
  • Исправлены PokePointer и TouchableVolume для упакованных сцен и вложенных настроек № 10531

Дополнительные функции, улучшения и изменения API:

  • Адаптированы устаревший метод/использование свойства для совместимости с Mixed Reality OpenXR 1.4.0 № 10524
  • Добавлена поддержка для голосовой команды "select" (выбрать) в подключаемый модуль смешанной реальности для Windows № 10533 
  • Реализована общая поддержка взаимодействия с рукой в OpenXR № 10538
  • Исправлена проблема, из-за которой контроллеры WMR не передавали пространственные данные в режиме контроллера, если были включены соединения руки № 10547
  • Обновлен файл TetheredPlacement.cs для использования локальной позы № 10566 
  • Исправления P, совместимость с Oculus Integration 39.0 № 10576
  • Собственный пакет DLL для поиска плоскости защиты выполняет вызов только к Windows № 10595
  • Код запроса сцены перемещен из поставщика фокуса. Улучшена производительность Sphere Pointer № 10146
  • (Критическое изменение) Исправлено handness -> handedness (ведущая рука) № 10273
  • Добавлены синхронные функции CloseImmediate() в IProgressIndicator № 10323
  • Унифицированные скрипты визуализатора суставной виртуальной руки № 10555
  • Функции ObjectManipulator Start и OnPointerX сделаны виртуальными № 9981
  • ObservedObjectParent сделан общедоступным через класс BaseSpatialObserver № 9995
  • Система порядка/приоритета выполнения для TransformConstraint № 10028
  • Добавлена поддержка для внедренных пакетов в окне зависимостей № 10042
  • Близкие указатели можно использовать с контроллерами. № 10059
  • Реализовано перечисление и управление поведением № 10078
  • Добавлен параметр для воспроизведения звуков ползунка только при взаимодействии с ним № 10081
  • Добавлен шейдер спрайта TMP MRTK № 10096