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

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

Большое спасибо из Редмонда

Команда MRTK хочет выразить особую благодарность всем участникам сообщества MRTK. Ваш вклад, отзывы и голоса помогли MRTK получить награду 2021 Auggie Award Best Developer Tool (за лучшее средство разработчика). Ваша поддержка была очень ценной. Спасибо вам за поддержку добавления новой платформы, новые возможности, исправления ошибок, предложения, вопросы и другой ваш вклад.

Мы также хотели бы поблагодарить нашего друга Лаклана Форда (Lachlan Ford) за получение награды Auggie Award от нашего имени и за ее доставку в целости и сохранности. 2021 Auggie Awards Best Developer Tool

Поддержка Unity 2021

В выпуске 2.7.3 мы упростили создание решений на Unity 2021. Если при использовании MRTK с Unity 2021 у вас возникнет какая-либо проблема, сообщите о ней в нашем репозитории GitHub.

Интерпретация сцены с помощью поддержки удаленного взаимодействия (только для OpenXR)

Интерпретация сцены теперь доступна во время удаленного взаимодействия в HoloLens 2 с помощью платформы OpenXR.

Исправления ошибок и изменения в MRTK 2.7.3

  • Папка CustomProfiles больше не создается, если только профиль не был клонирован в эту папку № 9916.
  • Удаленные вызовы к .gameObject для GameObjects № 9939.
  • Исправлена ошибка, при которой объекты с отключенными компонентами могли приводить к блокировке фокуса для указателей. № 9945
  • Обновлены нерекомендуемые методы и исправлены ошибки компилятора для Unity 2021. № 9938
  • Исправление link.xml для Unity 2021 № 9942.
  • Обновлен инспектор настройки кнопок для отображения названий значков. № 9972
  • Обновлены заголовок и выравнивание для списка сопоставления контроллеров. № 9976
  • Различные улучшения Unity для MRTK. № 9940
  • Исправлены проблемы и несогласованность коллайдера BoundsControl. № 9973
  • Исправлены инспекторы наборов значков для кнопок. № 9999
  • Исправлено выравнивание коллайдера маркера масштаба BoundsControl. № 10007
  • Исправлена классификация текстуры шрифта SDF. № 10006
  • Исправлена ориентация маркера автоматического сведения и масштабирования для BoundsControl. № 10013
  • Добавлен отзыв для исправления сведения BoundsControl. № 10016
  • Исправлены странные деформации с сеткой рук во время воспроизведения анимации. № 10024
  • Исправлено ведение журнала и SpatialAwarenessSurfaceTypes для интерпретации сцены № 10026.
  • Добавлена отдельная директива define в скрипт сцены примера Leap. № 10036
  • Исправлена проблема BoundsControlOnEnable при указанном типе активации (не по умолчанию) в редакторе. № 10039
  • Исправлены ошибки с неверными байт-кодами шейдера для OpenGL ES и Metal. № 10041
  • Добавлен вызов ClearProgressBar для исправления зависания сборки для Window в Unity 2020 № 10046.
  • Обновлена сериализация для ресурсов шрифтов. № 10047
  • Исправлена сцена взаимодействия с помощью руки для обеспечения надлежащих коллайдеров ползунка сжатия. № 10060
  • Исправлена алгебра кватернионов для поверхностного магнетизма. № 10074
  • Улучшены сообщения о версии фото- и видеокамеры. № 10077
  • Исправлен уровень защиты BoundingBoxHelper.GetRawBoundsCorners№ 10093.
  • Обновлены журналы импорта gLTF: теперь это один журнал, а не несколько. № 10090
  • Удален скрипт MRSceneContent из сцен без MRTK № 10091.
  • Удалены системы событий на основе пакетов для примеров сцен для совместимости Unity 2018. № 10092
  • Удалена поддержка для предварительных версий пакетов Microsoft OpenXR. № 10119
  • Исправлены зависания приложений при получении данных. № 10033
  • Исправлены случаи, когда с помощью EyeTrackingTarget не выполнялся запуск OnLookAway при передаче из коллайдера с помощью EyeTrackingTarget в коллайдер без такого целевого объекта № 10127.
  • Изменен экстент указателя по умолчанию, чтобы сделать поведение указателя мыши более интуитивным. № 10075
  • Обновлена сводка для отображения более наглядной информации при инициализации запусков. № 10177
  • Исправлена проблема NullReferenceException в LinePointer№ 10190.
  • Исправлены проблемы с BoundsControl с неоднородным масштабированием. № 10133
  • Исправлена обработка IOSMinOSVersion в разных языках и региональных параметрах № 10178.
  • Удалены лишние лучи из объектов с поддержкой управления направления взглядом. № 10162
  • Добавлены подсказки при наведении указателя на различные профили в инспекторе редактора для заготовки MixedRealityToolkit. № 10180
  • Исправлен раскрывающийся список команд речи и обновлены команды в EyeTrackingExample. № 10197
  • Исправлено отображение объектов gLTF в черном цвете при загрузке с помощью стандартного шейдера Unity. № 10209
  • Исправлено самостоятельное обновление UnityTouchDeviceManager, если свойство IsEnabled имеет значение false № 10203.
  • Обновлено имя свойства во вспомогательной функции настройки кнопки. № 10221
  • Исправлено пространство координат, порядок поворота и форматирование региональных параметров в средстве экспорта объектов. № 10208
  • Добавлен вариант для перемещения точки захвата на кончик пальца. № 10206
  • Добавлена поддержка для Leap UnityModules 4.9.1. № 10282
  • Некоторые незначительные изменения перенесены в ReserializeAssetsUtility.cs№ 10280.
  • Преобразовано неправильное использование enumValueIndex в intValue№ 10274.
  • Исправлены плавающие объекты при манипуляциях вблизи. № 10294
  • Исправлены случаи, при которых элементы управления границами агрессивно скрывали другие компоненты. № 10296
  • Исправлено мигающее освещение при близком взаимодействии. № 10325
  • Добавлена проверка того, подключены ли какие-либо объекты к событиям, перед принятием решения о запуске таких событий. № 10330
  • Изменены разные незначительные компоненты. № 10316
  • Представлена альтернатива для .HasFlag. № 10319
  • Уменьшен объем выходных данных журнала отладки решателя HandConstraint№ 10331.
  • Исправлен чрезмерный объем выходных данных журнала от HandConstraintPalmUp.cs№ 10326.
  • Включена интерпретация сцены для удаленного голографического взаимодействия через OpenXR. № 10338
  • Добавлен конструктор без параметров в InteractableOnClickReceiver. № 10353
  • Заготовка FingerChaser перемещена в папку Common в пакете примеров. № 10358
  • Добавлен вариант отката для выбора свободного ввода рукой в OpenXR. № 10359
  • Исправлена проблема с импортом UPM в демонстрации потоковой передачи микрофона Windows. № 10362
  • Переименованы профили OpenXR. № 10363
  • Улучшены выходные данные журнала попадания луча в Unity 2021 и исправлено аварийное завершение при использовании AssetBundles. № 10370
  • Изменены строки на постоянные и обновлены типы кэширования для снижения объемов выделения. № 10369
  • Исправлены наблюдатели сетки на основе XRSDK при использовании голографического удаленного взаимодействия на основе приложений. № 10366
  • Интегрирована визуализация Oculus. № 10067
  • Добавлена документация для свойств BoundsControl. № 10361
  • Исправлена заготовка средства отслеживания суставов руки. № 10377
  • Исправлены ошибки развертывания для Oculus Quest. № 10374
  • Исправлена проблема с примером профиля сцены интерпретации сцены. № 10368
  • Исправлены ошибки консоли MRTK при импортировании в последних версиях Unity 2021.2. № 10182
  • Добавлена отсутствующая документация об изменении курсоров. № 4934
  • Улучшены инструкции на странице выпусков пакета MRTK Unity. № 9575
  • Исправлена проблема, при которой сцена демонстрации выбора MicStream не обрабатывала голос (пакет UPM). № 9908
  • Исправлена проблема, при которой примеры не удавалось импортировать отдельно в пакете примеров MRTK. № 10216
  • Добавлена отсутствующая документация по BoundsControl для некоторых свойств. № 10346
  • Исправлена ошибка, при которой не удавалось добавить InteractableOnClickReceiver в игровой объект с помощью интерактивного компонента. № 10341

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

Исправлена проблема с зависимостью пакета UPM

С пакетами UPM в MRTK 2.7.1 возникала проблема, из-за которой зависимости настраивались неправильно. Эта проблема приводила к тому, что Mixed Reality Feature Tool не удавалось правильно импортировать пакеты MRTK 2.7.1. В версии 2.7.2 эта проблема устранена. В этой версии по сравнению с версией 2.7.1 отсутствуют изменения кода.

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

Show version (Показать версию)

Меню Mixed Reality > Toolkit теперь содержит запись Show version... (Показать версию), которая позволяет изучить пакет Mixed Reality Toolkit Foundation и определить, какая версия MRTK используется проектом.

Show version menu

MRTK version dialog

Примечание

Если MRTK клонируется из репозитория GitHub, сведения о версии не будут заданы.

Unable to determine version

Список авторов

Начиная с MRTK версии 2.7.1, файл со списком авторов включается в пакет Mixed Reality Toolkit Foundation.

Настройка проекта OpenXR интегрирована в процесс настройки конфигуратора

Начиная с MRTK версии 2.7.1, пользователи подключаемого модуля OpenXR для смешанной реальности получают инструкции по настройке такого модуля в MRTK. Для пользователей, которые будут использовать HoloLens 2, доступен вариант с автоматическим применением рекомендуемых параметров.

Configurator window with OpenXR setup instructions

Важные исправления и изменения

  • Класс Unity Joystick Manager помечен как поддерживаемый в конвейере пакета SDK смешанной реальности № 9954, № 9994.
  • Добавлены проверки в код интерактивного инспектора, чтобы предотвратить появление ошибок со значением NULL № 9943.
  • Добавлен поставщик сеток OpenXR в пример сцены с шейдером пульса № 9902.
  • Восстановлен профиль физического взаимодействия с помощью рук в примере сцены № 9915.
  • Выполнена некоторая очистка скриптов HandConstraint№ 9935.
  • Исправлены некоторые ошибки, влияющие на создание и клонирование профилей № 9982.

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

OpenXR теперь официально поддерживается в MRTK

Так как функциональность новых подключаемых модулей OpenXR постоянно совершенствуется, MRTK теперь официально поддерживает OpenXR. По сравнению с прошлыми выпусками мы добавили следующие возможности в проекты, использующие OpenXR:

Если вы планируете использовать HoloLens 2 или гарнитуры смешанной реальности Windows с OpenXR, обязательно установите подключаемый модуль OpenXR для смешанной реальности версии 0.9.5 или выше с помощью Mixed Reality Feature Tool. В противном случае вы не сможете использовать некоторые из описанных выше возможностей.

Поставщики данных устаревшей смешанной реальности и пакета SDK смешанной реальности теперь можно использовать в одном профиле

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

Legacy and XR SDK data providers can now be unified under a single profile

Для этого поставщики данных со значениями NULL теперь не будут загружаться в инспектор профилей и отображаться в нем. Пользователи могут переключить параметр Show null data providers in the profile inspector (Показывать поставщики данных со значениями NULL в инспекторе профилей), выбрав Edit -> Project Settings -> Mixed Reality Toolkit (Правка -> Параметры проекта -> Mixed Reality Toolkit), чтобы выполнить отладку неожиданного поведения с отсутствующими поставщиками данных.

Null data providers are now hidden by defaultToggle show null data providers in the profile inspector

Добавлены параметры взаимодействия и связанное поведение содержимого сцены смешанной реальности

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

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

Experience Scale Migration

Обновленный конфигуратор теперь помогает пользователю выполнить настройку

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

Configurator showing the pipelines list

Точка телепорта улучшена

Новый компонент точки телепорта улучшен. Вы можете добавить точку телепорта в GameObject, чтобы настроить для пользователя расположение и ориентацию в определенной позиции при телепорте.

Teleport Hotspot example

Остановка взгляда улучшена

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

Dwell hero

Добавлена поддержка для модулей Unity Leap Motion версий 4.6.0, 4.7.0, 4.7.1 и 4.8.0

Поддержка для последних версий модулей Unity Leap Motion теперь совместима с MRTK 2.7.0. Дополнительные сведения см. в статье Как настроить MRTK для Leap Motion.

Благодарим @jackyangzzh за новую сцену LeapMotionOrientationExample!

Вызванные заданные события речи больше не ограничены указателями взгляда

Ранее заданные события речи могли быть вызваны только для объектов, на которых был установлен фокус указателя взгляда. Теперь объекты могут получать события речи, если на них установлен фокус любого указателя.

Speech Events with Far Pointers

TextToSpeech портировано из HTK в MRTK

Популярный скрипт TextToSpeech наконец доступен в MRTK. Он упрощает создание речи из текста на платформе UWP с помощью SpeechSynthesizer. Также добавлен пример сцены для демонстрации этой функции.

Поддержка предоставляемой системой модели контроллера движений в OpenXR

Включена поддержка (в редакторе и среде выполнения) предоставляемой системой модели контроллера в OpenXR.

Editor window showing two motion controller models

Поддержка суставной виртуальной руки HoloLens 2 в OpenXR

The hand mesh running on-device in an MRTK example scene

Поддержка тактильной обратной связи контроллера в устаревшем модуле WMR, подключаемом модуле Windows XR и OpenXR

Включена поддержка тактильной обратной связи контроллера в устаревшем модуле WMR, подключаемом модуле Windows XR и OpenXR. № 9735

Поддержка отслеживания взгляда в подключаемом модуле Windows XR

Включена поддержка отслеживания взгляда при использовании минимальных версий подключаемого модуля Windows XR 2.7.0 (Unity 2019), 4.4.2 (Unity 2020) и 5.2.2 (Unity 2021). № 9609

Важные исправления и изменения

  • Обнаружение уменьшения стало более плавным. Теперь сложнее случайно прервать жест уменьшения. № 9576
  • Объекты с компонентом Object Manipulator теперь стабильно поддерживают скорость при отпускании, если задан флаг. № 9733
  • При движении назад теперь выполняется проверка на наличие пола, что позволяет предотвратить ситуации, в которых камера может застрять в объектах окружения или над пустым пространством.№ 9697
  • IsNearObject теперь является виртуальным свойством, что повышает гибкость при расширении указателя сферы или указателя тычка. № 9803
  • Кнопки теперь отображают правильное ключевое слово при отображении доступной речевой команды. № 9824
  • Контроллеры Oculus теперь используют собственный автономный визуализатор, что предотвращает конфликты визуализаций MRTK с визуализацией пакета интеграции Oculus. № 9589
  • Скрипты, связанные с клавиатурой, были изменены в соответствии с поведением в последних версиях Unity (2019.4.25 и выше и 2020.3.2 и выше). На момент выпуска все еще существует ошибка с автозавершением и ошибка с полем ввода (которые не зависят от MRTK), влияющие на работу HoloLens. Дополнительные сведения см. в описании проблемы № 9056 и № 9724.
  • Улучшена производительность прокрутки коллекции объектов. Также исправлена проблема, из-за которой GameObject в коллекции утрачивал материал при копировании. № 9813, № 9718
  • В демонстрационный скрипт интерпретации сцены добавлена функция GetSceneObjectsOfType для получения всех наблюдаемых объектов сцены определенного вида. № 9524, № 9744
  • В средстве сборки командной строки в сборку будут включены только сцены, указанные с помощью флагов sceneList или sceneListFile (при наличии каких-либо флагов). № 9695
  • В средстве сборки доступна новая возможность для указания пути к файлу nuget.exe и его использования для восстановления пакета (вместо использования msbuild по умолчанию). № 9556
  • Исправлена проблема, из-за которой использование подключаемого модуля Windows XR Plugin могло приводить к неподвижности сочленений руки и дублированию виртуальных рук. № 9890
  • Исправлена проблема, из-за которой использование функции автоматического удаленного взаимодействия в подключаемом модуле Windows XR приводило к отсутствующим входным данным и взаимодействиям. № 9868
  • Исправлена проблема, из-за которой класс BuildDeployWindow пытался отправить запрос к недопустимому разделу реестра для пути пакета SDK Windows. № 9664
  • Средства импорта glTF в MRTK теперь необязательны. Если доступно несколько средств импорта glTF, средства импорта MRTK теперь можно отключить, добавив MRTK_GLTF_IMPORTER_OFF в пользовательские символы определения скрипта (Scripting Define Symbols). № 9658
  • Исправлена проблема, из-за которой контроллеры Knuckles в OpenVR не обнаруживались надлежащим образом. № 9881
  • Уменьшено число покадровых размещений при визуализации виртуальной руки № 9756
  • Добавлен пункт меню для запуска пакета с примерами MRTK (в диспетчере пакетов Unity), чтобы упростить импорт примеров № 9798
  • Уменьшено число предупреждений о времени загрузки при использовании Unity 2020.3.
  • Добавлена документация по функции окна сборки: посетить страницу

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

В аудиодемонстрациях отсутствует файл asmdef (пакет UPM).

При импорте MRTK через Mixed Reality Feature Tool примеры и демонстрации добавляются в проект с помощью пользовательского интерфейса диспетчера пакетов Unity. После импорта аудиодемонстраций сцена WindowsMicrophoneStreamDemo.unity не будет работать надлежащим образом. Это вызвано отсутствием ASMDEF-файла для примера.

Чтобы устранить эту проблему, выполните следующие шаги:

  • Скопируйте файл Library/PackageCache/com.microsoft.mixedreality.toolkit.examples@[...]/MRTK.Examples.asmdef в свою папку Assets/Samples/Mixed Reality Toolkit Examples.
  • Переименуйте скопированный файл в Examples.
  • Откройте файл Examples.
  • В поле Name (Имя) замените содержимое на Examples.
  • Нажмите кнопку Apply (Применить).
  • Сборка и развертывание

Эта проблема будет исправлена в следующем выпуске MRTK.

Окно сборки MRTK вызывает бесконечный запуск диалогового окна Importing assets (Импорт активов) в Unity 2020.3

Существует известная проблема с окном сборки MRTK в Unity 2020.3, из-за которой после успешной сборки UWP диалоговое окно Importing assets (Импорт активов) не закрывается. Мы изучаем эту проблему совместно с командой Unity.

Предупреждения Text Mesh Pro Canvas Renderer в Unity 2020

Следующее предупреждение отображается в большинстве примеров сцен MRTK при использовании Unity 2020:

Please remove the `CanvasRenderer` component from the [TextMeshPro] GameObject as this component is no longer necessary.

Предупреждение Canvas Renderer было добавлено в TextMeshPro версии 3.0.3. Эти предупреждения не влияют на работу примеров сцен MRTK, поэтому их можно удалять из консоли. Дополнительные сведения см. в описании проблемы 9811.