Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Unity fournit un ensemble d’options par défaut qui sont généralement le cas moyen pour toutes les plateformes. Toutefois, Unity propose certains comportements spécifiques à la réalité mixte qui peuvent être basculés via les paramètres du projet.
Configuration d’environnement performante
Paramètres de qualité inférieure
Il est important de modifier les paramètres de qualité Unity sur Très faible afin que votre application s’exécute et fonctionne correctement à la fréquence d’images appropriée, en particulier pour le développement HoloLens. Pour le développement sur les casques immersifs, selon les spécifications du bureau alimentant l’expérience VR, on peut toujours atteindre la fréquence d’images sans les paramètres de qualité les plus bas.
Dans Unity 2019 LTS+, vous pouvez définir le niveau de qualité du projet en allant dans Modifier> laqualité desparamètres> du projet et en définissant la valeur par défaut en cliquant sur la flèche vers le bas pour atteindre le niveau de qualité **Très faible.
Paramètres d’éclairage
Comme pour les paramètres de scène de qualité, il est important de définir des paramètres d’éclairage optimaux pour votre application de Mixed Reality. Dans Unity, le paramètre d’éclairage qui aura généralement le plus grand impact sur les performances de votre scène est l’éclairage global en temps réel. Vous pouvez désactiver l’éclairage global en accédant à Fenêtre>Rendu> Paramètresd’éclairage>Éclairage en temps réel Éclairage global.
Il existe un autre paramètre d’éclairage, Illumination globale cuite. Ce paramètre peut fournir des résultats performants et visuellement frappants sur les casques immersifs, mais ne s’applique pas au développement HoloLens. L’illumination globale cuite n’est calculée que pour les GameObjects statiques, qui ne se trouvent pas dans les scènes HoloLens en raison de la nature d’un environnement inconnu et changeant.
Lisez Global Illumination de Unity pour plus d’informations.
Remarque
L’éclairage global en temps réel est défini par scène et les développeurs doivent donc enregistrer cette propriété pour chaque scène Unity de leur projet.
Chemin de rendu d’instanciation en une seule passe
Dans les applications de Mixed Reality, la scène est rendue deux fois : une fois pour chaque œil. Par rapport au développement 3D traditionnel, cela double effectivement la quantité de travail à calculer. Il est important de sélectionner le chemin de rendu le plus efficace dans Unity pour économiser du temps CPU et GPU. Le rendu d’instance en un seul passage optimise le pipeline de rendu Unity pour les applications de réalité mixte ; Nous vous recommandons d’activer ce paramètre par défaut pour chaque projet.
Pour activer cette fonctionnalité dans votre projet Unity
- Ouvrez OpenXR Settings (allez dans Modifier les>paramètres> du projetXR Gestion des> plug-insOpenXR).
- Sélectionnez Single Pass Instanced dans le menu déroulant Mode de rendu .
Lisez les articles suivants de Unity pour plus d’informations sur cette approche de rendu.
- Maximiser les performances de réalité augmentée et de réalité virtuelle avec un rendu stéréo avancé
- Instanciation en un seul passage
Remarque
Un problème courant avec le rendu d’instance à passe unique se produit si les développeurs ont déjà des nuanceurs personnalisés existants qui n’ont pas été écrits pour l’instanciation. Après avoir activé cette fonctionnalité, les développeurs peuvent remarquer que certains GameObjects ne s’affichent que dans un seul œil. Cela est dû au fait que les nuanceurs personnalisés associés ne possèdent pas les propriétés appropriées pour l’instanciation.
Activer le partage du tampon de profondeur
Pour obtenir une meilleure stabilité de l’hologramme à partir de la perception de l’utilisateur, il est recommandé d’activer la propriété Partage du tampon de profondeur dans Unity. En activant cette option, Unity partage la carte de profondeur produite par votre application avec la plate-forme Windows Mixed Reality. La plateforme peut alors mieux optimiser la stabilité de l’hologramme spécifiquement pour votre scène pour n’importe quelle image donnée rendue par votre application.
Pour activer cette fonctionnalité dans votre projet Unity
- Ouvrez OpenXR Settings (allez dans Modifier les>paramètres> du projetXR Gestion des> plug-insOpenXR).
- Sélectionnez Profondeur 16 bits dans le menu déroulant Mode de soumission de profondeur .
Le paramètre de mémoire tampon de profondeur de 16 bits est particulièrement recommandé pour le développement HoloLens. En sélectionnant 16 bits plutôt que 24 bits, vous réduirez considérablement les besoins en bande passante car moins de données devront être déplacées/traitées. Cela dit, l’optimisation a un certain coût. Assurez-vous de comprendre les implications mentionnées dans les cases Importantes ci-dessous.
Pour que la plateforme Windows Mixed Reality optimise la stabilité de l’hologramme, elle s’appuie sur la mémoire tampon de profondeur pour être précise et correspondre à tous les hologrammes affichés à l’écran. Par conséquent, lorsque le partage de tampon de profondeur est activé, il est important de rendre également la profondeur lors du rendu de la couleur. Dans Unity, la plupart des matériaux Opaque ou TransparentCutout affichent la profondeur par défaut, mais les objets transparents et textuels n’affichent pas la profondeur, bien que cela dépende des nuanceurs et d’autres facteurs.
Si vous utilisez le nuanceur Mixed Reality Toolkit Standard, pour afficher la profondeur des objets transparents :
- Sélectionnez le matériau transparent qui utilise le nuanceur MRTK Standard et ouvrez la fenêtre de l’éditeur de l’inspecteur.
- Sélectionnez le bouton Corriger maintenant dans l’avertissement de partage du tampon de profondeur. Cela peut également être effectué manuellement en réglant le mode de rendu sur Personnalisé ; puis réglez Mode sur Transparent et enfin réglez Profondeur d’écriture sur Activé.
Importante
Les développeurs doivent se méfier du Z-fighting lors de la modification de ces valeurs avec les paramètres du plan proche/lointain de la caméra. Le Z-Fighting se produit lorsque deux objets du jeu essaient de s’afficher au même pixel et en raison des limitations de fidélité du tampon de profondeur (c’est-à-dire la profondeur z), Unity ne peut pas discerner quel objet est en face de l’autre. Les développeurs remarqueront un scintillement entre deux objets du jeu lorsqu’ils se battent pour la même valeur de profondeur z. Cela peut être résolu en passant au format de profondeur de 24 bits, car il y aura une plus grande plage de valeurs pour chaque objet à calculer pour sa profondeur z à partir de la caméra.
Toutefois, il est recommandé, en particulier pour le développement HoloLens, de modifier les plans proche et éloigné de la caméra sur une plage plus petite à la place et de conserver le format de profondeur 16 bits. La profondeur z est mappée de manière non linéaire à la plage de valeurs le long des plans de caméra proche et éloigné. Cela peut être modifié en sélectionnant la caméra principale dans votre scène et sous Inspecteur, modifiez les valeurs du plan d’écrêtage proche & éloigné pour réduire leur portée (c’est-à-dire de 1000 m à 100 m ou autre valeur x, etc.)
Importante
Unity ne crée pas de tampon de gabarit lors de l’utilisation du format de profondeur 16 bits. Par conséquent, certains effets de l’interface utilisateur Unity et d’autres effets requis par gabarit ne fonctionneront pas, sauf si le format de profondeur 24 bits est sélectionné, ce qui crée une mémoire tampon de gabarit de 8 bits.
Bâtiment pour IL2CPP
Unity a supprimé la prise en charge du backend de script .NET et recommande donc aux développeurs d’utiliser IL2CPP pour leurs builds UWP Visual Studio. Bien que cela apporte divers avantages, la création de votre solution Visual Studio à partir de Unity pour IL2CPP peut être plus lente que l’ancienne méthode .NET. Par conséquent, il est fortement recommandé de suivre les meilleures pratiques pour créer IL2CPP afin de gagner du temps lors de l’itération du développement.
- Tirez parti de la génération incrémentielle en construisant votre projet dans le même répertoire à chaque fois, en réutilisant les fichiers prédéfinis.
- Désactivez les analyses du logiciel anti-programme malveillant pour votre projet & vos dossiers de build :
- Ouvrez la protection contre les virus & les menaces sous votre application Paramètres Windows 10
- Sélectionnez Gérer les paramètres sous Paramètres de protection contre les virus & les menaces
- Sélectionnez Ajouter ou supprimer des exclusions dans la section Exclusions
- Sélectionnez Ajouter une exclusion et sélectionnez le dossier contenant le code de votre projet Unity et les résultats de la génération
- Utilisez un SSD pour la construction.
Pour plus d’informations, consultez Optimisation des temps de génération pour IL2CPP .
Remarque
En outre, il peut être avantageux de configurer un serveur de cache, en particulier pour les projets Unity avec une grande quantité de ressources (à l’exclusion des fichiers de script) ou des scènes/ressources en constante évolution. Lors de l’ouverture d’un projet, Unity stocke les ressources qualifiantes dans un format de cache interne sur la machine du développeur. Les articles doivent être réimportés et donc retraités lorsqu’ils sont modifiés. Ce processus peut être effectué une seule fois et enregistré dans un serveur de cache et par conséquent partagé avec d’autres développeurs pour gagner du temps, au lieu que chaque développeur traite la réimportation des nouvelles modifications localement.
Propriétés de publication
Écran de démarrage holographique
HoloLens dispose d’un processeur et d’une GPU de classe mobile, ce qui signifie que le chargement des applications peut prendre un peu plus de temps. Pendant le chargement de l’application, les utilisateurs ne verront que du noir, et ils peuvent donc se demander ce qui se passe. Pour les rassurer pendant le chargement, vous pouvez ajouter un écran de démarrage holographique.
Pour activer ou désactiver l’écran de démarrage holographique :
Accédez à la page Modifier les>paramètres> duprojet Lecteur.
Sélectionnez l’onglet Windows Store et ouvrez la section Splash Image .
Appliquez votre image sous la propriété Windows Holographic > Holographic Splash Image .
- Le basculement de l’option Afficher l’écran de démarrage Unity permet d’activer ou de désactiver l’écran de démarrage de la marque Unity. Si vous n’avez pas de licence Unity Pro, l’écran de démarrage de la marque Unity sera toujours affiché.
- Si une image de démarrage holographique est appliquée, elle s’affiche toujours, que la case Afficher l’écran de démarrage Unity soit activée ou désactivée. La spécification d’une image de démarrage holographique personnalisée n’est disponible que pour les développeurs disposant d’une licence Unity Pro.
Afficher l’écran de démarrage Unity Image d’accueil holographique Comportement Activé Aucun Afficher l’écran de démarrage Unity par défaut pendant 5 secondes ou jusqu’à ce que l’application soit chargée, selon la durée la plus longue. Activé Personnalisé Afficher l’écran de démarrage personnalisé pendant 5 secondes ou jusqu’à ce que l’application soit chargée, la durée la plus longue prévalant. Désactivé Aucun Afficher le noir transparent (rien) jusqu’à ce que l’application soit chargée. Désactivé Personnalisé Afficher l’écran de démarrage personnalisé pendant 5 secondes ou jusqu’à ce que l’application soit chargée, la durée la plus longue prévalant.
Pour plus d’informations, consultez la documentation sur l’écran de démarrage de Unity .
Suivi de la perte
Un casque de réalité mixte dépend de l’observation de l’environnement qui l’entoure pour construire des systèmes de coordonnées verrouillés dans le monde, qui permettent aux hologrammes de rester en position. Lorsque le casque ne parvient pas à se localiser dans le monde, on dit qu’il a perdu le suivi. Dans ce cas, les fonctionnalités dépendant de systèmes de coordonnées verrouillés dans le monde, tels que les étapes spatiales, les ancres spatiales et la cartographie spatiale, ne fonctionnent pas.
En cas de perte de suivi, le comportement par défaut de Unity consiste à arrêter le rendu des hologrammes, à suspendre la boucle de jeu et à afficher une notification de perte de suivi qui suit confortablement le regard de l’utilisateur. Des notifications personnalisées peuvent également être fournies sous la forme d’une image de suivi des pertes. Pour les applications qui dépendent du suivi pour l’ensemble de leur expérience, il suffit de laisser Unity gérer entièrement cela jusqu’à ce que le suivi soit retrouvé. Les développeurs peuvent fournir une image personnalisée à afficher lors du suivi de la perte.
Pour personnaliser le suivi de l’image perdue :
- Accédez à la page Modifier les>paramètres> duprojet Lecteur.
- Sélectionnez dans l’onglet Windows Store et ouvrez la section Splash Image .
- Appliquez votre image sous la propriété Image de perte de suivi holographique > Windows.
Désactiver la suspension automatique
Certaines applications peuvent ne pas nécessiter de suivi (par exemple, les applications d’orientation uniquement , telles que les visionneuses vidéo à 360 degrés) ou doivent continuer à traiter sans interruption pendant la perte du suivi. Vous pouvez choisir de ne pas utiliser le comportement de perte de suivi par défaut, mais vous êtes responsable du masquage ou de la désactivation des objets qui ne s’afficheraient pas correctement dans un scénario de perte de suivi. Dans la plupart des cas, le seul contenu dont l’affichage est recommandé est le contenu verrouillé, centré autour de la caméra principale.
Pour désactiver le comportement de mise en pause automatique :
- Accéder àla pageModifier> lelecteur de paramètres du projet>
- Sélectionnez l’onglet Windows Store et ouvrez la section Splash Image
- Modifiez la case à cocher Windows Holographic > On Tracking Loss Pause and Show Image .
Suivi des événements de perte
Pour définir un comportement personnalisé lorsque le suivi est perdu, gérez les événements de perte de suivi globaux.
Fonctionnalités
Pour qu’une application tire parti de certaines fonctionnalités, elle doit déclarer les fonctionnalités appropriées dans son manifeste. Les déclarations de manifeste peuvent être faites dans Unity afin d’être incluses dans toutes les futures exportations de projet.
Les fonctionnalités peuvent être activées pour une application de Mixed Reality à l’aide des éléments suivants :
- Accédez à la page Modifier les>paramètres> duprojet Lecteur.
- Sélectionnez l’onglet du Windows Store , ouvrez la section Paramètres de publication et recherchez la liste des fonctionnalités .
Les fonctionnalités applicables pour activer les API couramment utilisées pour les applications holographiques sont les suivantes :
| Fonctionnalité | API nécessitant une capacité |
|---|---|
| Perception spatiale | SurfaceObserver |
| WebCam | PhotoCapture et VideoCapture |
| PicturesLibrary / VideosLibrary | PhotoCapture ou VideoCapture, respectivement (lors du stockage du contenu capturé) |
| Microphone | VideoCapture (lors de la capture audio), DictationRecognizer, GrammarRecognizer et KeywordRecognizer |
| Client Internet | DictationRecognizer (et pour utiliser Unity Profiler) |