Notes de publication de Microsoft Mixed Reality Toolkit 2.7
Nouveautés de la version 2.7.3
Un merci particulier de la part de Redmond
L’équipe MRTK souhaite également adresser un remerciement chaleureux à la communauté MRTK. Vos contributions, commentaires et votes ont aidé MRTK à décrocher le Auggie Award 2021 qui consacre le meilleur outil pour développeur ! Sans votre soutien, nous n’en serions pas là aujourd’hui. Que vous ayez ajouté une prise en charge de nouvelle plateforme, de nouvelles fonctionnalités, des correctifs de bogues, des suggestions, des questions ou toute autre forme de contribution : merci à vous !
Support Unity 2021
Dans sa version 2.7.3, Unity 2021 permet de créer plus facilement. Si vous rencontrez des problèmes lors de l’utilisation de MRTK avec Unity 2021, signalez un problème sur notre dépôt GitHub.
Compréhension des scènes via la prise en charge de la communication à distance (OpenXR uniquement)
La compréhension des scènes est désormais disponible pendant la communication à distance sur HoloLens 2 avec la plateforme OpenXR.
Corrections de bogues et modifications sur MRTK 2.7.3
- Arrêt de la création d’un dossier
CustomProfiles
sauf si un profil a été cloné dans ce dossier #9916 - Suppression des appels à
.gameObject
sur GameObjects #9939 - Correction d’un bogue lié au verrouillage du focus au niveau des pointeurs provoqué par les objets comprenant des composants désactivés #9945
- Mise à jour de méthodes déconseillées et correction d’erreurs de compilateur corrigées pour Unity 2021 #9938
- Correction de
link.xml
pour Unity 2021 #9942 - Mise à jour de l’inspecteur de configuration de bouton pour afficher les noms d’icônes #9972
- Mise à jour de l’en-tête et de l’alignement de la liste de mappage de contrôleur #9976
- Classement des améliorations d’Unity pour MRTK #9940
- Correction des problèmes et des incohérences au niveau du collisionneur BoundsControl #9973
- Correction des inspecteurs de jeu d’icônes de bouton #9999
- Correction de l’alignement du collisionneur de poignée de mise à l’échelle BoundsControl #10007
- Correction de la catégorisation de la texture de police SDF #10006
- Correction de l’orientation de la poignée de mise à l’échelle et de l’aplatissement automatique BoundsControl #10013
- Ajout de commentaires pour le correctif de l’aplatissement BoundsControl #10016
- Correction de déformations étranges avec le maillage de la main pendant la lecture de l’animation #10024
- Correction de la journalisation et de
SpatialAwarenessSurfaceTypes
pour la compréhension des scènes #10026 - Ajout d’une directive define autonome à un exemple de script de scène Leap #10036
- Correction du problème BoundsControl
OnEnable
lorsque le type d’activation non par défaut spécifié dans l’éditeur #10039 - Correction d’erreurs de bytecode de nuanceur non valide pour OpenGL ES et Metal #10041
- Ajout de l’appel
ClearProgressBar
pour corriger le gel de la fenêtre Build dans Unity 2020 #10046 - Mise à jour de la sérialisation pour les ressources de police #10047
- Correction d’une scène d’interaction manuelle pour disposer de collisionneurs de curseur de pincement appropriés #10060
- Correction mathématique de quaternions de magnétisme de surface #10074
- Amélioration des messages de version de caméra PV #10077
- Correction du niveau de protection
BoundingBoxHelper.GetRawBoundsCorners
#10093 - Mise à jour des journaux d’importation gLTF qui n’en forment plus qu’un #10090
- Suppression du script
MRSceneContent
des scènes qui ne contiennent pas MRTK #10091 - Suppression des systèmes d’événements basés sur les packages des exemples de scènes pour la compatibilité de Unity 2018 #10092
- Suppression de la prise en charge des packages Microsoft OpenXR en préversion #10119
- Correction des applications qui figeaient lors de la réception de données #10033
- Correction de
EyeTrackingTarget
qui ne déclenchait pas OnLookAway lors du passage d’un collisionneur avecEyeTrackingTarget
à un collisionneur sans #10127 - Modification de l’étendue de pointeur par défaut pour rendre le comportement du pointeur de souris plus intuitif #10075
- Mise à jour du résumé pour clarifier à quel moment Initialize s’exécute #10177
- Correction d’un
NullReferenceException
problème dansLinePointer
#10190 - Correction de BoundsControl avec des problèmes de mise à l’échelle non uniformes #10133
- Correction de la gestion de
IOSMinOSVersion
dans différentes cultures #10178 - Suppression des raycasts superflus des objets compatibles avec le pointage du regard oculaire #10162
- Ajout d’info-bulles lorsque le pointeur est placé sur différents profils dans l’inspecteur de l’éditeur pour le préfabriqué MixedRealityToolkit #10180
- Correction de la liste déroulante de commandes vocales et des commandes de mise à jour dans EyeTrackingExample #10197
- Correction des objets « gLTF » qui s’affichaient en noir lorsqu’ils étaient chargés avec le nuanceur standard de Unity #10209
- Correction de
UnityTouchDeviceManager
qui se mettait à jour lorsque la propriétéIsEnabled
avait la valeur false #10203 - Mise à jour d’un nom de propriété dans l’application auxiliaire de configuration de bouton #10221
- Correction de l’espace de coordonnées, de l’ordre d’enroulement et de la a mise en forme de culture dans l’exportateur d’objets #10208
- Ajout d’une option permettant de déplacer le point de saisie au bout du doigt #10206
- Ajout de la prise en charge de Leap UnityModules 4.9.1 #10282
- Rétroporté quelques modifications mineures apportées à
ReserializeAssetsUtility.cs
#10280 - Utilisations incorrectes converties de
enumValueIndex
intValue
#10274 - Correction d’objet dérivant lors d’une manipulation de près #10294
- Correction des cas où le contrôle des limites supprimait de façon agressive d’autres composants #10296
- Correction du scintillement de l’éclairage de proximité #10325
- Ajout d’une vérification pour voir si quelque chose est raccordé à des événements avant de déterminer si ces derniers doivent être déclenchés #10330
- Modification d’un assortiment de choses mineures #10316
- Introduction d’une solution de remplacement à HasFlag #10319
- Réduction du spam du journal de débogage du résolveur
HandConstraint
#10331 - Correction du courrier indésirable du journal provenant de
HandConstraintPalmUp.cs
#10326 - Activation de la compréhension des scènes pour la communication à distance holographique via OpenXR #10338
- Ajout d’un constructeur sans paramètre à InteractableOnClickReceiver #10353
- Déplacement du préfabriqué FingerChaser vers le dossier Common du package d’exemples #10358
- Ajout d’un cas de secours pour la sélection de la main articulée dans OpenXR #10359
- Correction d’un problème d’importation de package de démo UPM de flux de micro Windows #10362
- Profils OpenXR renommés #10363
- Amélioration de la sortie du journal des touches de raycasts avec Unity 2021 et correction d’un incident lors de l’utilisation de AssetBundles #10370
- Mise à jour des chaînes en type const et cache pour réduire les allocations #10369
- Correction des observateurs de maillage XRSDK lors de l’utilisation de la communication à distance holographique basée sur l’application #10366
- Intégration de la visualisation Oculus #10067
- Ajout d’une documentation pour les propriétés BoundsControl #10361
- Correction du préfabriqué de suivi des articulations de la main #10377
- Correction des erreurs de déploiement pour Oculus Quest 10374
- Correction du problème lié à l’exemple de profil de scène de la compréhension des scènes #10368
- Correction des erreurs de la console MRTK lors de son importation dans les dernières versions de Unity 2021.2 #10182
- Ajout de la documentation manquante concernant la modification des curseurs #4934
- Amélioration des instructions dans la page de publication du package MRTK Unity pour les rendre plus claires #9575
- Correction du problème lié à la scène de démo de sélection MicStream qui ne traitait pas la voix (package UPM) #9908
- Correction du problème emp^chant l’importation d’exemples un à un dans le package d’exemples MRTK #10216
- Ajout de la documentation manquante concernant certaines propriétés BoundsControl #10346
- Correction d’un bogue dans lequel InteractableOnClickReceiver ne pouvait pas être ajouté à un objet de jeu avec un composant avec interaction #10341
Nouveautés de la version 2.7.2
Résolution d’un problème de dépendance de package UPM
En raison d’un problème lié aux packages UPM MRTK 2.7.1, les dépendances n’étaient pas configurées correctement. L’outil Mixed Reality Feature Tool ne pouvait donc pas importer correctement les packages MRTK 2.7.1. Ce problème a été résolu dans la version 2.7.2. Aucun changement de code n’est à signaler dans cette version par rapport à la version 2.7.1.
Nouveautés de la version 2.7.1
Show version
Le menu de Mixed Reality > Toolkit contient désormais une entrée Show version... qui examine le package Mixed Reality Toolkit Foundation pour déterminer la version de MRTK utilisée par le projet.
Remarque
Si MRTK a été cloné à partir du dépôt GitHub, les informations sur la version ne sont pas définies.
Liste des auteurs
À compter de MRTK 2.7.1, le fichier de liste des auteurs est inclus dans le package Mixed Reality Toolkit Foundation.
Configuration du projet OpenXR intégrée au flux de configuration du configurateur
À compter de MRTK 2.7.1, les utilisateurs du plug-in OpenXR Mixed Reality reçoivent des instructions sur la façon de configurer ce plug-in avec MRTK. Une option permet aux utilisateurs ciblant HoloLens 2 d’appliquer automatiquement les paramètres recommandés.
Correctifs et changements notables
- Unity Joystick Manager marqué comme pris en charge sur le pipeline du SDK XR #9954, #9994
- Ajout de vérifications au code de l’inspecteur Interactable pour éviter les erreurs null #9943
- Ajout d’un fournisseur de maillage OpenXR à l’exemple de scène du nuanceur animé #9902
- Restauration du profil de physique des mains dans un exemple de scène #9915
- Nettoyage des scripts
HandConstraint
#9935 - Correction de bogues affectant la création et le clonage de profils #9982
Nouveautés de la version 2.7.0
OpenXR est désormais officiellement pris en charge dans MRTK
Les nouveaux plug-ins OpenXR gagnant en maturité, MRTK prend désormais officiellement en charge OpenXR. Par rapport aux versions précédentes, nous avons ajouté les fonctionnalités suivantes aux projets utilisant OpenXR :
- Prise en charge du modèle de contrôleur de mouvement fourni par le système
- Prise en charge des mouvements WinMR (sélection, maintien, manipulation et navigation) #9843
- Prise en charge du retour haptique de contrôleur
- Prise en charge du maillage de la main sur HoloLens 2
- Prise en charge du mappage spatial sur HoloLens 2 #9567, #9827
- Prise en charge de la compréhension des scènes sur HoloLens 2 #9744
Si vous ciblez des casques HoloLens 2 ou Windows Mixed Reality par le biais d’OpenXR, veillez à installer laversion 0.9.5 ou ultérieure du plug-in OpenXR Mixed Reality ou à effectuer la mise à jour vers cette version à l’aide de l’outil Mixed Reality Feature Tool. Sinon, vous risquez de ne pas bénéficier de certaines des améliorations indiquées plus haut.
Les fournisseurs de données Legacy XR et XR SDK peuvent désormais être utilisés dans le même profil
Désormais, les fournisseurs de données sont uniquement chargés quand le pipeline approprié est sélectionné, ce qui permet aux fournisseurs de données Legacy XR et XR SDK de coexister dans le même profil. Pour ce faire, les fournisseurs de données Legacy XR et XR SDK sont maintenant organisés sous différents onglets dans la vue du profil. Cette organisation doit permettre de déterminer si le profil approprié est sélectionné pour le pipeline XR ciblé.
Pour ce faire, les fournisseurs de données null ne sont désormais ni chargés ni affichés dans l’inspecteur de profil. Les utilisateurs peuvent basculer Show null data providers in the profile inspector
sous Edit -> Project Settings -> Mixed Reality Toolkit pour déboguer les comportements inattendus causés par des fournisseurs de données manquants.
Ajout de paramètres d’expérience et d’un comportement de contenu de scène de réalité mixte associé
Les utilisateurs peuvent désormais configurer des paramètres d’expérience (Experience Settings), ce qui permet à MRTK d’afficher le contenu d’une scène de réalité mixte en fonction de l’expérience ciblée.
Si les paramètres Experience Scale définis précédemment ne correspondent pas au nouveau profil Experience Settings, l’utilisateur est invité à apporter des corrections dans l’inspecteur.
Configurateur repensé pour guider l’utilisateur tout au long du processus de configuration
Le nouveau configurateur MRTK fournit aux utilisateurs des instructions pas à pas pour bien configurer le projet dans le cadre du développement XR et l’utiliser avec MRTK. Il couvre la sélection du pipeline XR, l’obtention des plug-ins spécifiques à la plateforme, l’importation de TextMeshPro, l’affichage des exemples (lors de l’utilisation d’UPM) et d’autres paramètres recommandés précédemment inclus pour le projet.
TeleportHotspot disponible
Un nouveau composant TeleportHotspot est disponible. Vous pouvez ajouter une zone réactive de téléportation à votre GameObject
pour vérifier que l’utilisateur se trouve dans une position et une orientation données lorsqu’il se téléporte à cet emplacement.
Fixation du regard disponible
La fonctionnalité et l’exemple de fixation du regard ont quitté la phase expérimentale. De nouveaux exemples de boutons de style HoloLens 2 volumétriques sont inclus dans l’exemple de scène.
Prise en charge des modules Leap Motion Unity versions 4.6.0, 4.7.0, 4.7.1 et 4.8.0
Les dernières versions des modules Leap Motion Unity sont désormais compatibles avec MRTK 2.7.0. Pour plus d’informations, consultez le guide pratique pour configurer MRTK pour LEAP Motion.
Un grand merci à @jackyangzzh pour sa contribution à la nouvelle scène LeapMotionOrientationExample
!
Les événements vocaux ciblés déclenchés ne sont plus limités aux pointeurs du regard
Auparavant, les événements vocaux ciblés pouvaient uniquement être déclenchés sur des objets sélectionnés par le pointeur du regard. Désormais, des objets peuvent recevoir des événements vocaux s’ils sont sélectionnés par n’importe quel pointeur.
Portage de TextToSpeech
, de HTK vers MRTK
Le script TextToSpeech
particulièrement apprécié des utilisateurs est maintenant disponible dans MRTK pour générer une synthèse vocale sur la plateforme UWP avec SpeechSynthesizer
. Un exemple de scène a également été ajouté pour illustrer la fonctionnalité.
Prise en charge du modèle de contrôleur de mouvement fourni par le système sur OpenXR
Le modèle de contrôleur de mouvement fourni par le système sur OpenXR est désormais pris en charge, à la fois dans l’éditeur et au moment de l’exécution.
Prise en charge du maillage de main articulée HoloLens 2 sur OpenXR
Prise en charge du retour haptique de contrôleur sur WMR hérité, le plug-in Windows XR et OpenXR
Prise en charge du retour haptique de contrôleur sur WMR hérité, le plug-in Windows XR et OpenXR. #9735
Prise en charge du suivi oculaire dans le plug-in Windows XR
Prise en charge du suivi du regard avec les versions minimales du plug-in Windows XR : 2.7.0 (Unity 2019), 4.4.2 (Unity 2020) et 5.2.2 (Unity 2021). #9609
Correctifs et changements notables
- Détection des pincements plus fluide. Il est maintenant plus difficile de sortir accidentellement du mouvement de pincement. #9576
- Les objets avec le composant Object Manipulator maintiennent désormais systématiquement la vélocité après relâchement quand l’indicateur est défini. #9733
- Le déplacement en arrière vérifie à présent la présence d’un sol, ce qui permet d’éviter que l’appareil photo se retrouve découpé dans l’environnement (clipping) ou que l’utilisateur pointe sur un espace vide.#9697
IsNearObject
est désormais une propriété virtuelle, ce qui offre plus de flexibilité lors de l’extension du SpherePointer ou du PokePointer. #9803- Les boutons affichent désormais le mot clé approprié lors de l’affichage de la commande vocale disponible. #9824
- Les contrôleurs Oculus utilisent désormais leur propre visualiseur autonome, ce qui empêche la visualisation MRTK d’entrer en conflit avec la visualisation du package d’intégration Oculus. #9589
- Les scripts liés au clavier ont été modifiés pour s’aligner sur le comportement des dernières versions d’Unity (2019.4.25+ et 2020.3.2+). À l’heure de la publication, un bogue lié à l’auto-complétion et un bogue lié au champ d’entrée TMP (tous deux externes à MRTK) impactent toujours HoloLens. Pour plus d’informations, consultez #9056 et #9724.
- Amélioration des performances du défilement de la collection d’objets. Correction d’un problème entraînant la perte d’éléments dans
GameObject
au sein de la collection en cas de duplication. #9813, #9718 - Dans le script de démonstration de compréhension de la scène, la fonction
GetSceneObjectsOfType
a été ajoutée pour récupérer tous les objets de scène observés d’un certain type. #9524, #9744 - Dans l’outil de build en ligne de commande, seules les scènes spécifiées par les indicateurs
sceneList
etsceneListFile
(quand un indicateur est présent) sont incluses dans la build. #9695 - Dans l’outil de build, une nouvelle option permet de spécifier un chemin à
nuget.exe
et de l’utiliser pour effectuer la restauration de package à la place demsbuild
(option par défaut). #9556 - Résolution d’un problème pouvant entraîner des jointures de main obsolètes et des maillages de main en double lors de l’utilisation du plug-in Windows XR. #9890
- Résolution d’un problème entraînant l’absence d’entrées et d’interactions lors de l’utilisation de la fonctionnalité de communication à distance automatique du plug-in Windows XR. #9868
- Résolution d’un problème lors duquel
BuildDeployWindow
tente d’interroger une clé de Registre non valide pour le chemin du SDK Windows. #9664 - Les importateurs
glTF
de MRTK sont désormais facultatifs. Si plusieurs importateursglTF
sont présents, vous pouvez désactiver ceux de MRTK en ajoutantMRTK_GLTF_IMPORTER_OFF
aux symboles de définition de script personnalisés. #9658 - Résolution d’un problème empêchant la bonne détection des contrôleurs Knuckles sur OpenVR. #9881
- Réduction du nombre d’allocations par image lors de la visualisation du maillage de la main #9756
- Ajout d’un élément de menu pour lancer le package MRTK Examples (dans Unity Package Manager) afin de faciliter l’importation d’exemples #9798
- Réduction du nombre d’avertissements au moment du chargement lors de l’utilisation d’Unity 2020.3.
- Ajout de la documentation sur les fonctionnalités de la fenêtre de build : visiter la page
Problèmes connus
Fichier asmdef
manquant dans les démonstrations audio (package UPM)
Quand MRTK est importé par le biais de l’outil Mixed Reality Feature Tool, des exemples et des démonstrations sont ajoutés au projet avec Unity Package Manager UI. Une fois les démonstrations audio importées, la scène WindowsMicrophoneStreamDemo.unity
ne se comporte pas correctement. Ce comportement est dû à l’absence d’un fichier asmdef dans l’exemple.
Pour contourner ce problème, effectuez les étapes suivantes :
- Copier Library/PackageCache/com.microsoft.mixedreality.toolkit.examples@[...]/MRTK.Examples.asmdef dans le dossier Assets/Samples/Mixed Reality Toolkit Examples
- Renommer le fichier copié Examples
- Ouvrir le fichier Examples
- Dans la zone Name, remplacer le contenu par Examples
- Cliquez sur Appliquer
- Générer et déployer
Ce problème sera résolu dans une version future de MRTK.
La fenêtre de build MRTK déclenche une boîte de dialogue « Importing assets » indéfinie dans Unity 2020.3
Un problème connu lié la fenêtre de build MRTK sur Unity 2020.3 empêche l’exécution de la boîte de dialogue d’importation de ressources après une build UWP. Ce problème fait actuellement l’objet d’une investigation avec Unity.
Avertissements du CanvasRenderer TextMeshPro dans Unity 2020
L’avertissement suivant est journalisé dans la plupart des exemples de scènes MRTK avec Unity 2020 :
Please remove the `CanvasRenderer` component from the [TextMeshPro] GameObject as this component is no longer necessary.
L’avertissement du CanvasRenderer a été ajouté dans TextMeshPro version 3.0.3. Ces avertissements n’ont aucun effet sur les exemples de scènes de MRTK et peuvent être effacés de la console. Pour plus de détails, consultez le problème 9811.