Notes de publication de Microsoft Mixed Reality Toolkit 2.6

Important

Il existe un problème de compilateur connu qui affecte les applications créées pour Microsoft HoloLens 2 à l’aide d’ARM64. Ce problème est résolu en mettant à jour Visual Studio 2019 vers la version 16.8 ou ultérieure. Si vous ne parvenez pas à mettre à jour Visual Studio, importez le com.microsoft.mixedreality.toolkit.tools package pour appliquer une solution de contournement.

Nouveautés de la version 2.6.2

Corrige la parenté du maillage spatial

Résout le problème où les maillages spatiaux n’étaient pas correctement localisés après le déplacement de l’objet Playspace Mixed Reality (par exemple, via une téléportation).

Nouveautés de la version 2.6.1

Corrections d’OpenXR qui ne s’exécute pas sur HoloLens 2/UWP

Corrige une régression qui empêchait l’exécution de la prise en charge d’OpenXR de MRTK sur UWP.

Corrige la rotation de l’objet Leap MotionManipulator

Corrige une régression dans laquelle la rotation d’une main Leap Motion n’a pas été prise en compte par le script ObjectManipulator.

Exemples de mises à jour de scène

Mises à jour la scène de compréhension de l’exemple de scène pour refléter correctement l’état fourni du plug-in Unity. Met également à jour l’exemple pour qu’il n’ait plus de dépendance sur la scène d’exemple de reconnaissance spatiale en cours d’importation. Avant de procéder à la mise à jour vers la version 2.6.1, vous devez supprimer les exemples de compréhension de scène et de sensibilisation spatiale importés s’ils sont présents dans votre projet pour éviter d’éventuels conflits. Si vous n’avez pas supprimé ces exemples et que vous voyez des conflits liés à ceux-ci dans la console, supprimez les deux exemples (ou le Assets/Samples/Mixed Reality Toolkit Examples dossier), puis réessayez d’importer.

Mises à jour l’exemple de scène de dialogue pour décrire correctement les scénarios de dialogue actuels.

Nouveautés de la version 2.6.0


Ajouter la prise en charge d’OpenXR

La prise en charge initiale du package OpenXR d’Unity et du package OpenXR Mixed Reality de Microsoft a été ajoutée. Pour plus d’informations, consultez la page de prise en main de MRTK/XRSDK, le billet du forum Unity ou la documentation de Microsoft .

Important

OpenXR dans Unity est uniquement pris en charge sur Unity 2020.2 et versions ultérieures.

Actuellement, il prend également uniquement en charge les builds x64 et ARM64.

Utilitaire d’échange de ressources

Échangez plusieurs ressources dans une scène Unity avec le nouvel utilitaire d’échange de ressources.

Contrôleurs de mouvement HP désormais pris en charge avec MRTK

Les contrôleurs du HP Reverb G2 fonctionnent désormais en mode natif avec MRTK.

Élément interactif expérimental + visualiseur d’état

Interactive Element est un point d’entrée centralisé simplifié pour le système d’entrée MRTK. Il contient des méthodes de gestion d’état, la gestion des événements et la logique de paramètre d’état pour les états d’interaction principaux. Pour plus d’informations, consultez Documentation sur les éléments interactifs.

InteractiveElementAddCoreState

Le visualiseur d’état est un composant d’animation qui dépend de Interactive Element. Ce composant crée des clips d’animation, définit des images clés et génère un Animator State Machine. Pour plus d’informations, consultez La documentation du visualiseur d’état

StateVisualizerColorChangeOnFocus

Téléportation avec le mouvement de téléportation désormais pris en charge sur toutes les plateformes

Les utilisateurs peuvent désormais utiliser le mouvement de téléportation pour se déplacer dans leur espace de jeu sur toutes les plateformes. Pour téléporter avec un contrôleur sur des appareils MR avec des configurations par défaut, utilisez la manette. Pour téléporter avec des mains articulées, faites un geste avec votre paume vers le haut avec l’index et le pouce collant vers l’extérieur, en effectuant la téléportation en frisant l’index. Pour vous téléporter avec la simulation d’entrée, consultez notre documentation mise à jour du service de simulation d’entrée.

Geste de téléportation

Scene Understanding désormais disponible dans MRTK en tant qu’observateur expérimental de la prise de conscience spatiale

La prise en charge expérimentale de Scene Understanding est introduite dans MRTK 2.6. Les utilisateurs peuvent incorporer les fonctionnalités de compréhension de scène de HoloLens 2 en tant qu’observateur de la prise de conscience spatiale dans des projets basés sur MRTK. Pour plus d’informations, consultez la documentation Scene Understanding .

Important

Scene Understanding est pris en charge uniquement sur HoloLens 2 et Unity 2019.4 et versions ultérieures.

Cette fonctionnalité nécessite le package Scene Understanding, qui est désormais disponible via l’outil de fonctionnalité Mixed Reality. Lorsque vous utilisez l’outil de fonctionnalité Mixed Reality ou si vous effectuez une importation via UPM, importez l’exemple Demos - SpatialAwareness avant d’importer l’exemple Experimental - SceneUnderstanding en raison d’un problème de dépendance. Pour plus d’informations, consultez ce problème GitHub .

Compréhension de scène

Prise en charge du changement de profil d’exécution

MRTK permet désormais le basculement de profil avant l’initialisation du instance MRTK (par exemple, commutateur de profil d’initialisation pré-MRTK) et après l’utilisation active d’un profil (par exemple, commutateur de profil actif). Le premier commutateur peut être utilisé pour activer certains composants en fonction des fonctionnalités du matériel, tandis que le second peut être utilisé pour modifier l’expérience lorsque l’utilisateur entre dans une sous-partie de l’application. Pour plus d’informations et des exemples de code, consultez la documentation sur le changement de profil .

Indicateur directionnel et solveurs de suivi issus de l’expérimentation

Deux nouveaux résolveurs sont prêts à être utilisés avec MRTK principal.

Solveur d’indicateur directionnel

Hand Coach diplômé de l’expérimental

La fonctionnalité Coach de main est maintenant prête à être utilisée avec MRTK mainline.

Exemple d’entraîneur de main

Contrôles de dialogue gradués de l’expérimentation

Les contrôles de boîte de dialogue sont désormais prêts à être utilisés avec MRTK de ligne principale.

Contrôles de boîte de dialogue

Nuanceur d’impulsions diplômé de l’expérimentation

Les scripts du nuanceur Pulse sont issus des scripts expérimentaux. Pour plus d’informations, consultez : Documentation pulse shader

MRTK_SpatialMesh_Pulse

Améliorations apportées au service d’enregistrement d’entrée

InputRecordingService et InputPlaybackService peuvent désormais enregistrer et lire l’entrée du regard. L’enregistrement a été optimisé pour garantir une fréquence d’images cohérente tout au long de la période d’enregistrement, tout en réduisant d’environ 50 % la taille du fichier et le temps d’enregistrement. L’enregistrement et le chargement des fichiers d’enregistrement peuvent désormais être effectués de manière asynchrone. Notez que le format de fichier de l’enregistrement a changé dans cette version MRTK. Pour plus d’informations sur les nouvelles spécifications de la version 1.1, consultez cette page.

Mode lecture

Ajout de la prise en charge du mode lecture sur HoloLens 2. Le mode lecture réduit le champ de vision du système, mais élimine une mise à l’échelle de la sortie d’Unity. Un pixel rendu par Unity correspond à un pixel projeté sur HoloLens 2. Les auteurs d’applications doivent effectuer des tests avec plusieurs personnes pour s’assurer qu’il s’agit d’un compromis qu’ils souhaitent dans leur application.

Windows Mixed Reality mode lecture

Prise en charge des lanceurs d’applications 3D sur UWP

Ajoute la possibilité de définir un lanceur d’applications 3D pour UWP. Ce paramètre est exposé à la fois dans la fenêtre de build MRTK et dans les paramètres du projet MRTK, sous Paramètres de build. Il est automatiquement écrit dans le projet pendant la génération dans Unity.

Paramètres de génération

Changements cassants

Certains champs d’objets GLTF importés sont désormais en majuscules

En raison de problèmes liés à la désérialisation, certains champs d’objets GLTF importés commencent maintenant par des lettres majuscules. Les champs affectés sont (dans leurs nouveaux noms) : ComponentType, Path, Interpolation, Target, TypeMode, , MagFilter, MinFilter, , WrapS. WrapT

Le fichier binaire d’animation d’entrée a un format version 1.1 mis à jour

Le fichier binaire d’animation d’entrée, utilisé par InputRecordingService et InputPlaybackService, dispose désormais d’un format de fichier mis à jour pour permettre les optimisations apportées à ces deux services. Pour plus d’informations sur les nouvelles spécifications de la version 1.1, consultez cette page.

Prise en charge de MSBuild pour Unity

La prise en charge de MSBuild pour Unity a été supprimée à compter de la version 2.5.2, afin de s’aligner sur les nouvelles instructions de package d’Unity.

Problèmes connus

OpenXR

Il existe actuellement un problème connu avec Holographic Remoting et OpenXR, où les articulations de main ne sont pas toujours disponibles. En outre, les exemples de scènes de suivi oculaire ne sont pas actuellement compatibles, bien que le suivi oculaire fonctionne .

Certaines fonctionnalités Mixed Reality Toolkit Standard Shader nécessitent le package Foundation

Lorsqu’ils sont importés via le Gestionnaire de package Unity, les scripts d’utilitaires MRTK Standard Shader (par exemple, HoverLight.cs) ne sont pas colocalisés avec le nuanceur dans le package Standard Assets. Pour accéder à cette fonctionnalité, les applications nécessitent l’importation du package Foundation.

CameraCache peut créer une caméra lors de l’arrêt

Dans certaines situations (par exemple, lors de l’utilisation du fournisseur LeapMotion dans l’éditeur Unity), il est possible pour CameraCache de recréer la MainCamera lors de l’arrêt. Pour plus d’informations, consultez ce problème .

FileNotFoundException lorsque des exemples sont importés via le Gestionnaire de package Unity

En fonction de la longueur du chemin du projet, l’importation d’exemples via Unity Package Manager peut générer des messages FileNotFoundException dans la console Unity. En cause, le chemin d’accès au fichier « manquant » est plus long que MAX_PATH (256 caractères). Pour résoudre ce problème, raccourcissez la longueur du chemin d’accès du projet.

Aucun spatialiseur n’a été spécifié. L’application ne prend pas en charge Spatial Sound

Un avertissement « Aucun spatialiseur n’a été spécifié » s’affiche si un spatialiseur audio n’est pas configuré. Cela peut se produire si aucun package XR n’est installé, car Unity inclut des spatialiseurs dans ces packages.

Pour résoudre ce problème, vérifiez que :

  • Fenêtre>Un ou plusieurs packages XR sont installés dans le Gestionnaire de package

  • Mixed Reality Toolkit>Utilities>Configure Unity Project et effectuez une sélection pour Audio Spatializer

    Sélectionnez Audio Spatializer

NullReferenceException : référence d’objet non définie sur un instance d’un objet (SceneTransitionService.Initialize)

Dans certains cas, l’ouverture EyeTrackingDemo-00-RootScene peut provoquer une exception NullReferenceException dans la méthode Initialize de la classe SceneTransitionService. Cette erreur est due au fait que le profil de configuration du service de transition de scène n’est pas défini. Pour résoudre ce problème, procédez comme suit :

  • Accédez à l’objet MixedRealityToolkit dans la hiérarchie
  • Dans la fenêtre Inspecteur, sélectionnez Extensions
  • S’il n’est pas développé, développez Scene Transition Service
  • Définissez la valeur de Configuration Profilesur MRTKExamplesHubSceneTransitionServiceProfile

Corriger le profil de transition de scène

Oculus Quest

Il existe actuellement un problème connu pour l’utilisation du plug-in Oculus XR avec lors du ciblage des plateformes autonomes. Vérifiez les mises à jour dans le suivi des bogues/les forums/notes de publication d’Oculus.

Le bogue est signifié avec cet ensemble de 3 erreurs :

Erreur du plug-in XR Oculus

UnityUI et TextMeshPro

Il existe un problème connu pour les versions plus récentes de TextMeshPro (1.5.0+ ou 2.1.1+), où la taille de police par défaut pour les listes déroulantes et l’espacement des caractères en gras a été modifiée.

Image TMP

Cela peut être résolu en rétrogradant vers une version antérieure de TextMeshPro. Pour plus d’informations, consultez le problème #8556 .