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 !

Nous tenons également à remercier notre cher ami Lachlan Ford pour avoir accepté le Auggie Award en notre nom et pour s’être assuré que nous recevions la récompense dans de bonnes conditions. 2021 Auggie Awards Best Developer Tool

Support Unity 2021

Dans sa version 2.7.3, Unity 2021 permet de créer plus facilement. Si vous rencontrez des problèmes pendant que vous utilisez 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 iconset 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 lié à BoundsControlOnEnable quand un type d’activation spécifié dans l’éditeur n’est pas celui par défaut #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 avec EyeTrackingTarget à 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 problème NullReferenceException dans LinePointer#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étroportage de quelques modifications mineures à ReserializeAssetsUtility.cs#10280
  • Conversion d’utilisations incorrectes de enumValueIndex en 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 spam de journal en provenance 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 lié à l’impossibilité d’importer les 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 pouvant être interagi #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.

Show version menu

MRTK version dialog

Notes

Si MRTK a été cloné à partir du dépôt GitHub, les informations sur la version ne sont pas définies.

Unable to determine version

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.

Configurator window with OpenXR setup instructions

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 :

Si vous ciblez des casques HoloLens 2 ou Windows Mixed Reality par le biais d’OpenXR, veillez à installer la version 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, ce qui permet aux utilisateurs de déterminer s’ils disposent du profil approprié pour leur pipeline XR ciblé.

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

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.

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

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.

Experience Scale Migration

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.

Configurator showing the pipelines list

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.

Teleport Hotspot example

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.

Dwell hero

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.

Speech Events with Far Pointers

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.

Editor window showing two motion controller models

Prise en charge du maillage de main articulée HoloLens 2 sur OpenXR

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

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é à la saisie semi-automatique et un bogue lié au champ d’entrée TMP (tous deux externes à MRTK) impactent 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 et sceneListFile (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 de msbuild (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 importateurs glTF sont présents, vous pouvez désactiver ceux de MRTK en ajoutant MRTK_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 vous importez MRTK 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. Cela 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
  • Cliquer sur Apply
  • 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 l’exécution réussie d’une build UWP. Ce problème est actuellement examiné en partenariat 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 pas d’impact sur les exemples de scènes de MRTK et peuvent être effacés de la console. Pour plus d’informations, consultez le problème 9811.