Guide de configuration du profil MRTKMRTK profile configuration guide

la réalité mixte Shared Computer Toolkit centralise la plus grande partie de la configuration requise pour gérer la boîte à outils le plus possible (à l’exception des « choses » du runtime réel).The Mixed Reality Toolkit centralizes as much of the configuration required to manage the toolkit as possible (except for true runtime "things").

Ce guide est une procédure pas à pas simple pour chacun des écrans de profil de configuration actuellement disponibles pour la boîte à outils.This guide is a simple walkthrough for each of the configuration profile screens currently available for the toolkit.

le profil de configuration principale de la réalité mixte Shared Computer ToolkitThe main Mixed Reality Toolkit configuration profile

le profil de configuration principal, qui est attaché au GameObject MixedRealityToolkit dans votre scène, fournit le point d’entrée principal pour le Shared Computer Toolkit dans votre projet.The main configuration profile, which is attached to the MixedRealityToolkit GameObject in your Scene, provides the main entry point for the Toolkit in your project.

Notes

la réalité mixte Shared Computer Toolkit « verrouille » les écrans de configuration par défaut pour s’assurer que vous avez toujours un point de départ commun pour votre projet et il est recommandé de commencer à définir vos propres paramètres à mesure que votre projet évolue.The Mixed Reality Toolkit "locks" the default configuration screens to ensure you always have a common start point for your project and it is encouraged to start defining your own settings as your project evolves. La configuration MRTK n’est pas modifiable en mode lecture.The MRTK configuration is not editable during play-mode.

Profil de configuration MRTK

tous les profils « par défaut » pour la réalité mixte Shared Computer Toolkit se trouvent dans le projet SDK dans le dossier ressources/MRTK/kit de développement logiciel (sdk)/profils.All the "default" profiles for the Mixed Reality Toolkit can be found in the SDK project in the folder Assets/MRTK/SDK/Profiles.

Important

DefaultHoloLens2ConfigurationProfile est optimisé pour HoloLens 2.DefaultHoloLens2ConfigurationProfile is optimized for HoloLens 2. Pour plus d’informations, consultez profils .See Profiles for the details.

lorsque vous ouvrez le profil de Configuration principale de la réalité mixte Shared Computer Toolkit, l’écran suivant s’affiche dans l’inspecteur :When you open the main Mixed Reality Toolkit Configuration Profile, you will see the following screen in the inspector:

MRTK configuration scene

Si vous sélectionnez un élément multimédia MixedRealityToolkitConfigurationProfile sans MixedRealityToolkit dans la scène, vous êtes invité à indiquer si vous souhaitez que le MRTK configure automatiquement la scène pour vous.If you select a MixedRealityToolkitConfigurationProfile asset without the MixedRealityToolkit in the scene, it will ask you if you want the MRTK to automatically setup the scene for you. Toutefois, cette option est facultative, mais un objet MixedRealityToolkit actif doit être présent dans la scène pour accéder à tous les écrans de configuration.This is optional, however, there must be an active MixedRealityToolkit object in the scene to access all the configuration screens.

Cela abrite la configuration active Runtime actuelle pour le projet.This houses the current active runtime configuration for the project.

À partir de là, vous pouvez accéder à tous les profils de configuration pour le MRTK, notamment :From here you can navigate to all the configuration profiles for the MRTK, including:

Ces profils de configuration sont détaillés ci-dessous dans les sections qui s’y rapportent :These configuration profiles are detailed below in their relevant sections:


Paramètres d’expérienceExperience settings

situé sur la page de configuration principale de la réalité mixte Shared Computer Toolkit, ce paramètre définit l’opération par défaut de l’échelle de l’environnement de la réalité mixte pour votre projet.Located on the main Mixed Reality Toolkit configuration page, this setting defines the default operation of the Mixed Reality environment scale for your project.

Experiance settings

Paramètres de caméraCamera settings

Les paramètres de l’appareil photo définissent la façon dont l’appareil photo sera configuré pour votre projet de réalité mixte, définissant les paramètres génériques de découpage, de qualité et de transparence.The camera settings define how the camera will be setup for your Mixed Reality project, defining the generic clipping, quality and transparency settings.

Camera Profile

Paramètres du système d’entréeInput system settings

la Project de la réalité mixte fournit un système d’entrée robuste et bien formé pour le routage de tous les événements d’entrée dans le projet, qui est sélectionné par défaut.The Mixed Reality Project provides a robust and well-trained input system for routing all the input events around the project which is selected by default.

Input System settings 1

Derrière le système d’entrée fourni par le MRTK sont plusieurs autres systèmes, ils aident à piloter et à gérer les intertissages complexes nécessaires à l’abstraction de la complexité d’une infrastructure de réalité multiplateforme/de réalité mixte.Behind the Input System provided by the MRTK are several other systems, these help to drive and manage the complex inter-weavings required to abstract out the complexities of a multi-platform / mixed reality framework.

Input System settings 2

Chacun des profils individuels est détaillé ci-dessous :Each of the individual profiles are detailed below:


Paramètres de visualisation des limitesBoundary visualization settings

Le système de limites traduit la limite perçue signalée par le système de limite/Guardian des plateformes sous-jacentes.The boundary system translates the perceived boundary reported by the underlying platforms boundary / guardian system. La configuration du visualiseur de limites vous donne la possibilité d’afficher automatiquement la limite enregistrée dans votre scène, en fonction de la position de l’utilisateur. La limite réagit également/met à jour en fonction de l’endroit où l’utilisateur téléporte dans la scène.The Boundary visualizer configuration gives you the ability to automatically show the recorded boundary within your scene relative to the user's position.The boundary will also react / update based on where the user teleports within the scene.

Boundry Visualization Settings

Sélection du système de téléportingTeleportation system selection

la réalité mixte Project fournit un système de téléportage complet pour la gestion des événements de téléportage dans le projet, qui est sélectionné par défaut.The Mixed Reality Project provides a full featured Teleportation system for managing teleportation events in the project which is selected by default.

Teleport System settings

Paramètres de sensibilisation spatialeSpatial awareness settings

la Project de la réalité mixte fournit un système de sensibilisation spatiale reconstruit pour travailler avec des systèmes d’analyse spatiale dans le projet, qui est sélectionné par défaut.The Mixed Reality Project provides a rebuilt spatial awareness system for working with spatial scanning systems in the project which is selected by default.

Spatial Awareness settings 1

la réalité mixte Shared Computer Toolkit la configuration de la sensibilisation spatiale vous permet de personnaliser le mode de démarrage du système, si elle est exécutée automatiquement au démarrage de l’application ou par la suite, ainsi que la définition des étendues pour le champ de la vue.The Mixed Reality Toolkit spatial awareness configuration lets you tailor how the system starts, whether it is automatically when the application starts or later programmatically as well as setting the extents for the field of view.

Il vous permet également de configurer les paramètres de maillage et de surface, de personnaliser davantage la façon dont votre projet comprend l’environnement qui vous est autour.It also lets you configure the mesh and surface settings, further customizing how your project understands the environment around you.

Cela s’applique uniquement aux appareils qui peuvent fournir un environnement analysé.This is only applicable for devices that can provide a scanned environment.

Spatial Awareness settings 2

Paramètres de diagnosticDiagnostics settings

Une fonctionnalité facultative mais très utile du MRTK est la fonctionnalité de diagnostics de plug-in.An optional but highly useful feature of the MRTK is the plugin diagnostics functionality.

Diagnostics settings

Le profil de diagnostic fournit plusieurs systèmes simples à surveiller pendant l’exécution du projet, y compris un commutateur d’activation/désactivation pratique pour activer/désactiver le panneau d’affichage dans la scène.The diagnostics profile provides several simple systems to monitor whilst the project is running, including a handy On/Off switch to enable / disable the display panel in the scene.

Diagnostics settings System settings 2

Paramètres système de la scèneScene system settings

Le MRTK fournit ce service facultatif pour vous aider à gérer le chargement/déchargement complexe des scènes.The MRTK provides this optional service to help you manage complex additive scene loading / unloading. Pour déterminer si le système de scène est adapté à votre projet, lisez le Guide de prise en main du système de scène.To decide if the Scene System would be a good fit for your project, read the Scene System Getting Started Guide.

Scene System settings 1

Paramètres des services supplémentairesAdditional services settings

l’une des zones les plus avancées de la réalité mixte Shared Computer Toolkit est son implémentation de modèle de localisateur de service qui permet d’inscrire n’importe quel « service » avec l’infrastructure.One of the more advanced areas of the Mixed Reality Toolkit is its service locator pattern implementation which allows the registering of any "Service" with the framework. Cela permet d’étendre facilement le Framework avec de nouvelles fonctionnalités et de nouveaux systèmes, mais permet également aux projets de tirer parti de ces fonctionnalités pour inscrire leurs propres composants d’exécution.This allows the framework to be both extended with new features / systems easily but also allows for projects to take advantage of these capabilities to register their own runtime components.

Tout service inscrit obtient toujours l’avantage total de tous les événements Unity, sans la surcharge et le coût de l’implémentation d’un monocomportement ou de modèles de singletons sourds.Any registered service still gets the full advantage of all of the Unity events, without the overhead and cost of implementing a MonoBehaviour or clunky singleton patterns. Cela permet aux composants C# purs sans surcharge de scène d’exécuter à la fois les processus de premier plan et d’arrière-plan, par exemple les systèmes de génération, la logique du jeu d’exécution ou pratiquement tout autre.This allows for pure C# components with no scene overhead for running both foreground and background processes, e.g. spawning systems, runtime game logic, or practically anything else.

additional System settings

Paramètres des actions d’entréeInput actions settings

Les actions d’entrée permettent d’extraire les interactions physiques et les entrées d’un projet d’exécution.Input actions provide a way to abstract any physical interactions and input from a runtime project. Toutes les entrées physiques (des contrôleurs/mains/souris, etc.) sont traduites en une action d’entrée logique pour une utilisation dans votre projet d’exécution.All physical input (from controllers / hands / mouse / etc) is translated in to a logical input action for use in your runtime project. Cela garantit quel que soit l’emplacement d’origine de l’entrée, votre projet implémente simplement ces actions comme « choses à faire » ou « interagir avec » dans vos scènes.This ensures no matter where the input comes from, your project simply implements these actions as "Things to do" or "Interact with" in your scenes.

Pour créer une nouvelle action d’entrée, cliquez simplement sur le bouton « Ajouter une nouvelle action », puis entrez un nom convivial pour ce qu’elle représente.To create a new input action, simply click the "Add a new Action" button and enter a friendly text name for what it represents. Vous devez alors uniquement sélectionner un axe (le type de données) que l’action doit transmettre, ou, dans le cas de contrôleurs physiques, le type d’entrée physique auquel elle peut être jointe, par exemple :You then only need select an axis (the type of data) the action is meant to convey, or in the case of physical controllers, the physical input type it can be attached to, for example:

Contrainte d’axeAxis Constraint Type de donnéesData Type DescriptionDescription Exemple d’utilisationExample use
AucunNone Pas de donnéesNo data Utilisé pour une action ou un événement videUsed for an empty action or event Déclencheur d’événementEvent Trigger
Brut (réservé)Raw (reserved) objetobject Paramètres réservés pour un usage ultérieurReserved for future use N/AN/A
DigitalDigital boolbool Données de type Boolean on ou OFFA boolean on or off type data Bouton de contrôleurA controller button
Axe uniqueSingle Axis floatfloat Une valeur de données de précision uniqueA single precision data value Une entrée étendue, par exemple un déclencheurA ranged input, e.g. a trigger
Axe doubleDual Axis Vector2Vector2 Une date de type float double pour plusieurs axesA dual float type date for multiple axis Un dpad ou un stick analogiqueA Dpad or Thumbstick
Trois positions DDLThree Dof Position Vector3Vector3 Données de type positionnel de à l’aide de l’axe 3 flottantPositional type data from with 3 float axis contrôleur de style de position 3D uniquement3D position style only controller
Rotation à trois DDLThree Dof Rotation QuaternionQuaternion Entrée de rotation uniquement avec 4 axes à virgule flottanteRotational only input with 4 float axis Un contrôleur de style à trois degrés, par exemple Oculus Go ControllerA Three degrees style controller, e.g. Oculus Go controller
Six DDLSix Dof Pose de réalité mixte (Vector3, Quaternion)Mixed Reality Pose (Vector3, Quaternion) Entrée de style de position et de rotation avec les composants Vector3 et QuaternionA position and rotation style input with both Vector3 and Quaternion components Contrôleur de mouvement ou pointeurA motion controller or Pointer

Les événements qui utilisent des actions d’entrée ne sont pas limités aux contrôleurs physiques et peuvent toujours être utilisés dans le projet pour que les effets de Runtime génèrent de nouvelles actions.Events utilizing input actions are not limited to physical controllers and can still be utilized within the project to have runtime effects generate new actions.

Notes

Les actions d’entrée sont l’un des quelques composants qui ne peuvent pas être modifiés au moment de l’exécution ; ils ne sont qu’une configuration au moment du Design.Input actions are one of the few components which is not editable at runtime, they are a design time configuration only. Ce profil ne doit pas être échangé pendant que le projet est en cours d’exécution en raison de la dépendance entre l’infrastructure (et vos projets) et l’ID généré pour chaque action.This profile should not be swapped out whilst the project is running due to the framework (and your projects) dependency on the ID's generated for each action.

Configuration Profile

Règles d’actions d’entréeInput actions rules

Les règles d’action d’entrée permettent de traduire automatiquement un événement déclenché pour une action d’entrée en différentes actions en fonction de sa valeur de données.Input action rules provide a way to automatically translate an event raised for one input action in to different actions based on its data value. Celles-ci sont gérées en toute transparence dans le cadre et n’entraînent pas de coûts de performances.These are managed seamlessly within the framework and do not incur any performance costs.

Par exemple, la conversion de l’événement d’entrée d’un seul axe double à partir d’un DPad dans en 4 actions « dpad up »/« DPad OFF »/« dpad Left »/« dpad Right » correspondantes (comme indiqué dans l’image ci-dessous).For example, converting the single dual axis input event from a DPad in to the 4 corresponding "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" actions (as shown in the image below).

Cela peut également se faire dans votre propre code.This could also be done in your own code. Toutefois, comme il s’agit d’un modèle très courant, le Framework fournit un mécanisme permettant d’effectuer cette opération « prête à l’emploi »However, seeing as this was a very common pattern, the framework provides a mechanism to do this "out of the box"

Les règles d’action d’entrée peuvent être configurées pour l’un des axes d’entrée disponibles.Input action Rules can be configured for any of the available input axis. Toutefois, les actions d’entrée d’un type d’axe peuvent être traduites en une autre action d’entrée du même type d’axe.However, input actions from one axis type can be translated to another input action of the same axis type. Vous pouvez mapper une action à deux axes sur une autre action d’axe double, mais pas sur une action numérique ou aucune.You can map a dual axis action to another dual axis action, but not to a digital or none action.

Profil des règles d’action d’entrée


Configuration du pointeurPointer configuration

Les pointeurs sont utilisés pour piloter l’interactivité dans la scène à partir de n’importe quel appareil d’entrée, ce qui donne à la fois une direction et un test de positionnement avec n’importe quel objet dans une scène (qui a un conflit attaché ou est un composant d’interface utilisateur).Pointers are used to drive interactivity in the scene from any input device, giving both a direction and hit test with any object in a scene (that has a collider attached, or is a UI component). Les pointeurs sont configurés automatiquement par défaut pour les contrôleurs, les casques (en regard/Focus) et l’entrée de souris/toucher.Pointers are by default automatically configured for controllers, headsets (gaze / focus) and mouse / touch input.

les pointeurs peuvent également être visualisés dans la scène active à l’aide de l’un des nombreux composants de ligne fournis par la réalité mixte Shared Computer Toolkit, ou de l’un de vos propres composants s’ils implémentent l’interface MRTK IMixedRealityPointer.Pointers can also be visualized within the active scene using one of the many line components provided by the Mixed Reality Toolkit, or any of your own if they implement the MRTK IMixedRealityPointer interface.

Input Pointer Profile
  • Étendue de pointage : détermine l’étendue de pointage globale pour tous les pointeurs, y compris le point de regard.Pointing Extent: Determines the global pointing extent for all pointers, including gaze.
  • Pointer les masques de couche Raycast : détermine les pointeurs de couches à Raycast.Pointing Raycast Layer Masks: Determines which layers pointers will raycast against.
  • Déboguer les rayons de pointage : un programme d’assistance de débogage pour visualiser les rayons utilisés pour Raycasting.Debug Draw Pointing Rays: A debug helper for visualizing the rays used for raycasting.
  • Déboguer les rayons de pointage de couleur : un ensemble de couleurs à utiliser pour la visualisation.Debug Draw Pointing Rays Colors: A set of colors to use for visualizing.
  • Curseur en regard Prefab : permet de spécifier facilement un curseur en forme de pointage global pour une scène.Gaze cursor prefab: Makes it easy to specify a global gaze cursor for any scene.

Il existe un autre bouton d’assistance pour accéder rapidement au fournisseur de regard pour remplacer des valeurs spécifiques pour le point de regard, si nécessaire.There's an additional helper button to quickly jump to the Gaze Provider to override some specific values for Gaze if needed.


Configuration des mouvementsGestures configuration

Les gestes sont une implémentation spécifique au système qui vous permet d’affecter des actions d’entrée aux diverses méthodes d’entrée de « geste » fournies par divers kits de développement logiciel (par exemple, HoloLens).Gestures are a system specific implementation allowing you to assign input actions to the various "Gesture" input methods provided by various SDKs (e.g. HoloLens).

Notes

l’implémentation actuelle des mouvements est destinée au HoloLens uniquement et sera améliorée pour les autres systèmes, car ils seront ajoutés à la Shared Computer Toolkit à l’avenir (aucune date pour le moment).The current Gestures implementation is for the HoloLens only and will be enhanced for other systems as they are added to the Toolkit in the future (no dates yet).

Gesture configuration

Commandes vocalesSpeech commands

À l’instar des gestes, certaines plateformes Runtime fournissent également une fonctionnalité de « parole à texte » intelligente, avec la possibilité de générer des commandes qui peuvent être reçues par un projet Unity.Like gestures, some runtime platforms also provide intelligent "Speech to Text" functionality with the ability to generate commands that can be received by a Unity project. Ce profil de configuration vous permet de configurer les éléments suivants :This configuration profile allows you to configure the following:

  1. général Paramètres-« comportement de démarrage » défini sur démarrage automatique ou démarrage manuel détermine s’il faut initialiser KeywordRecognizer au démarrage du système d’entrée ou laisser le projet décider quand initialiser le KeywordRecognizer.General Settings - "Start Behavior" set to Auto Start or Manual Start determines whether to initialize KeywordRecognizer at input system startup or let the project decide when to initialize the KeywordRecognizer. « Niveau de confiance de reconnaissance » est utilisé pour initialiser l' API KeywordRecognizer de l’unité"Recognition Confidence Level" is used to initialize Unity's KeywordRecognizer API
  2. Commandes vocales : enregistre les « mots » et les convertit en actions d’entrée qui peuvent être reçues par votre projet.Speech Commands - Registers "words" and translates them in to input actions that can be received by your project. Ils peuvent également être joints aux actions du clavier, si nécessaire.They can also be attached to keyboard actions if required.

Important

le système ne prend actuellement en charge la reconnaissance vocale que lorsqu’il s’exécute sur Windows 10 plateformes, par exemple HoloLens et Windows 10 desktop et sera amélioré pour d’autres systèmes à mesure qu’ils sont ajoutés à MRTK à l’avenir (aucune date pour le moment).The system currently only supports speech when running on Windows 10 platforms, e.g. HoloLens and Windows 10 desktop and will be enhanced for other systems as they are added to MRTK in the future (no dates yet).

Configuration Profile screens

Configuration du mappage du contrôleurController mapping configuration

l’un des écrans de configuration principaux pour la réalité mixte Shared Computer Toolkit est la possibilité de configurer et de mapper les différents types de contrôleurs qui peuvent être utilisés par votre projet.One of the core configuration screens for the Mixed Reality Toolkit is the ability to configure and map the various types of controllers that can be utilized by your project.

L’écran de configuration ci-dessous vous permet de configurer les contrôleurs actuellement reconnus par la boîte à outils.The configuration screen below allows you to configure any of the controllers currently recognized by the toolkit.

Controller Mapping

MRTK fournit une configuration par défaut pour les contrôleurs/systèmes suivants :The MRTK provides a default configuration for the following controllers / systems:

  • Souris (y compris la prise en charge de la souris spatiale 3D)Mouse (including 3D spatial mouse support)
  • Touch ScreenTouch Screen
  • Manettes XboxXbox controllers
  • contrôleurs de Windows Mixed RealityWindows Mixed Reality controllers
  • HoloLens MouvementsHoloLens Gestures
  • Contrôleurs à baguettes vives HTCHTC Vive wand controllers
  • Contrôleurs tactiles OculusOculus Touch controllers
  • Contrôleur distant OculusOculus Remote controller
  • Appareils OpenVR génériques (utilisateurs expérimentés uniquement)Generic OpenVR devices (advanced users only)

En cliquant sur l’image de l’un des systèmes de contrôleur prédéfinis, vous pouvez configurer une seule action d’entrée pour toutes les entrées correspondantes. par exemple, consultez l’écran de configuration du contrôleur tactile Oculus ci-dessous :Clicking on the Image for any of the pre-built controller systems allows you to configure a single input action for all its corresponding inputs, for example, see the Oculus Touch controller configuration screen below:

Controller config screen

Il existe également un écran avancé pour la configuration d’autres contrôleurs d’entrée OpenVR ou Unity qui ne sont pas identifiés ci-dessus.There is also an advanced screen for configuring other OpenVR or Unity input controllers that are not identified above.


Paramètres de visualisation du contrôleurController visualization settings

En plus du mappage de contrôleur, un profil de configuration distinct est fourni pour personnaliser la façon dont vos contrôleurs sont présentés dans vos scènes.In addition to the controller mapping, a separate configuration profile is provided to customize how your controllers are presented within your scenes.

Cela peut être configuré à un « global » (toutes les instances d’un contrôleur pour une main spécifique) ou spécifique à un type ou à une main de contrôleur individuel.This can be configured at a "Global" (all instances of a controller for a specific hand) or specific to an individual controller type / hand.

MRTK prend également en charge les modèles de contrôleur SDK natifs pour Windows Mixed Reality et OpenVR.The MRTK also supports native SDK controller models for Windows Mixed Reality and OpenVR. Ceux-ci sont chargés en tant que GameObjects dans votre scène et positionnés à l’aide du suivi du contrôleur de la plateforme.These are loaded as GameObjects in your scene and positioned using the platform's controller tracking.

Si la représentation de votre contrôleur dans la scène doit être décalée à partir de la position du contrôleur physique, il suffit de définir ce décalage par rapport à l’Prefab du modèle de contrôleur (par exemple, en définissant la position de la transformation du Prefab du contrôleur avec une position de décalage).If your controller representation in the scene needs to be offset from the physical controller position, then simply set that offset against the controller model's prefab (e.g. setting the transform position of the controller prefab with an offset position).

Visualization profile

Utilitaires de l’éditeurEditor utilities

Les utilitaires suivants fonctionnent uniquement dans l’éditeur et sont utiles pour améliorer la productivité du développement.The following utilities work only in the editor and are useful to improve development productivity.

Utilitaires de configuration de l’éditeur MRTK

Inspecteurs de serviceService inspectors

Les inspecteurs de service sont une fonctionnalité d’éditeur uniquement qui génère des objets dans la scène représentant des services actifs.Service Inspectors are an editor-only feature that generates in-scene objects representing active services. La sélection de ces objets permet d’afficher les inspecteurs qui proposent des liens vers la documentation, de contrôler les visualisations de l’éditeur et de comprendre l’état du service.Selecting these objects displays inspectors which offer documentation links, control over editor visualizations and insight into the state of the service.

Service Inspectors

vous pouvez activer les inspecteurs de service en activant la case à cocher utiliser les inspecteurs de service sous éditeur Paramètres dans le profil de Configuration.You can enable service inspectors by checking Use Service Inspectors under Editor Settings in the Configuration Profile.

Convertisseur de mémoire tampon de profondeurDepth buffer renderer

Le partage de la mémoire tampon de profondeur avec certaines plateformes de réalité mixte peut améliorer la stabilisation des hologrammes.Sharing the depth buffer with some mixed reality platforms can improve hologram stabilization. par exemple, la plateforme Windows Mixed Reality peut modifier la scène rendue par pixel pour tenir compte des mouvements de têtes subtiles pendant le temps nécessaire au rendu d’une image.For example, the Windows Mixed Reality platform can modify the rendered scene per-pixel to account for subtle head movements during the time it took to render a frame. Toutefois, ces techniques requièrent des tampons de profondeur avec des données précises pour savoir où et dans quelle mesure la géométrie provient de l’utilisateur.However, these techniques require depth buffers with accurate data to know where and how far geometry is from the user.

pour s’assurer qu’une scène effectue le rendu de toutes les données nécessaires dans le tampon de profondeur, les développeurs peuvent basculer la fonctionnalité de mémoire tampon de profondeur de rendu sous éditeur Paramètres dans le profil de Configuration.To ensure a scene renders all necessary data to the depth buffer, developers can toggle the Render Depth Buffer feature under Editor Settings in the Configuration Profile. Cela prend la mémoire tampon de profondeur actuelle et l’affiche en couleur dans l’affichage scène en appliquant un effet de suivi, DepthBufferRenderer à l’appareil photo principal.This will take the current depth buffer and render it as color to the scene view by applying a post-processing effect, DepthBufferRenderer, to the main camera.

Utilitaire de tampon de profondeur de rendu le cylindre bleu dans la scène a un matériau avec ZWrite désactivé, donc aucune donnée de profondeur n’est écriteRender Depth Buffer Utility The blue cylinder in the scene has a material with ZWrite off so no depth data is written

Modification des profils au moment de l’exécutionChanging profiles at runtime

Il est possible de mettre à jour les profils au moment de l’exécution, et il y a généralement deux scénarios et périodes différents dans lesquels cela est utile :It is possible to update profiles at runtime, and there are generally two different scenarios and times in which in this is helpful:

  1. Commutateur de configuration d’initialisation avant MRTK: au démarrage, avant l’initialisation du MRTK, le profil devient actif, en remplaçant le profil qui n’est pas encore utilisé pour activer ou désactiver les différentes fonctionnalités en fonction des fonctionnalités de l’appareil.Pre MRTK initialization profile switch: At startup, before the MRTK is initialized and profile becomes active, replacing the not-yet-in-use profile to enable/disable different features based on the device capabilities. Par exemple, si l’expérience s’exécute en VR qui n’a pas de matériel de mappage spatial, il n’est probablement pas judicieux d’activer le composant de mappage spatial.For example, if the experience is running in VR that doesn't have spatial mapping hardware it probably doesn't make sense to have spatial mapping component enabled.
  2. Commutateur de profil actif: après le démarrage, une fois que le MRTK est initialisé et qu’un profil est devenu actif, échangez le profil actuellement utilisé pour modifier la façon dont certaines fonctionnalités se comportent.Active profile switch: After startup, after the MRTK is initialized and a profile has become active, swapping the profile currently in use to change the way certain features behave. Par exemple, il peut y avoir une sous-expérience spécifique dans l’application qui souhaite que les pointeurs les plus éloignés soient complètement supprimés.For example, there may be a specific sub-experience in the application that wants far hand pointers completely removed.

Commutateur de profil d’initialisation de pré MRTKPre MRTK initialization profile switch

Pour ce faire, vous pouvez attacher un monocomportement (exemple ci-dessous) qui s’exécute avant l’initialisation MRTK (c.-à-d. éveillé ()).This can be accomplished by attaching a MonoBehaviour (example below) which runs before MRTK initialization (i.e. Awake()). Notez que le script (c’est-à-dire l’appel à SetProfileBeforeInitialization ) doit être exécuté avant le MixedRealityToolkit script, ce qui peut être effectué en définissant des paramètres d’ordre d’exécution de script.Note the script (i.e. call to SetProfileBeforeInitialization) have to be executed earlier than the MixedRealityToolkit script, which can be achieved by setting Script Execution Order settings.

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

/// <summary>
/// Sample MonoBehaviour that will run before the MixedRealityToolkit object, and change
/// the profile, so that when the MRTK initializes it uses the profile specified below
/// rather than the one that is saved in its scene.
/// </summary>
/// <remarks>
/// Note that this script must have a higher priority in the script execution order compared
/// to that of MixedRealityToolkit.cs. See https://docs.unity3d.com/Manual/class-MonoManager.html
/// for more information on script execution order.
/// </remarks>
public class PreInitProfileSwapper : MonoBehaviour
{

    [SerializeField]
    private MixedRealityToolkitConfigurationProfile profileToUse = null;

    private void Awake()
    {
        // Here you could choose any arbitrary MixedRealityToolkitConfigurationProfile (for example, you could
        // add some platform checking code here to determine which profile to load).
        MixedRealityToolkit.SetProfileBeforeInitialization(profileToUse);
    }
}

au lieu de « profileToUse », il est possible d’avoir un ensemble arbitraire de profils qui s’appliquent à des plateformes spécifiques (par exemple, une pour HoloLens 1, une pour VR, une pour HoloLens 2, etc.).Instead of "profileToUse", it's possible to have some arbitrary set of profiles which apply to specific platforms (for example, one for HoloLens 1, one for VR, one for HoloLens 2, etc). Il est possible d’utiliser d’autres indicateurs (par exemple https://docs.unity3d.com/ScriptReference/SystemInfo.html , ou si l’appareil photo est opaque/transparent), pour déterminer le profil à charger.It's possible to use various other indicators (e.g. https://docs.unity3d.com/ScriptReference/SystemInfo.html, or whether or not the camera is opaque/transparent), to figure out which profile to load.

Commutateur de profil actifActive profile switch

Pour ce faire, vous pouvez affecter MixedRealityToolkit.Instance.ActiveProfile à la propriété un nouveau profil qui remplace le profil actif.This can be accomplished by setting the MixedRealityToolkit.Instance.ActiveProfile property to a new profile replacing the active profile.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Remarque Lorsque vous définissez au moment de l' ActiveProfile exécution, la destruction des services en cours d’exécution se produit après le dernier LateUpdate () de tous les services, et l’instanciation et l’initialisation des services associés au nouveau profil se produisent avant la première mise à jour () de tous les services.Note when setting ActiveProfile during runtime, the destroy of the currently running services will happen after the last LateUpdate() of all services, and the instantiation and initialization of the services associated with the new profile will happen before the first Update() of all services.

Une hésitation d’application notable peut se produire au cours de ce processus.A noticeable application hesitation may occur during this process. En outre, tout script avec une priorité plus élevée que le MixedRealityToolkit script peut entrer dans sa mise à jour avant que le nouveau profil soit correctement configuré.Also any script with higher priority than the MixedRealityToolkit script can enter its Update before the new profile is properly setup. Pour plus d’informations sur la priorité de script, consultez paramètres de l’ordre d’exécution des scripts .See Script Execution Order settings for more information on script priority.

Dans le processus de basculement de profil, l’appareil photo de l’interface utilisateur existante reste inchangé, ce qui garantit que les composants de l’interface utilisateur Unity qui nécessitent un canevas fonctionnent toujours après le commutateur.In the profile switching process the existing UI camera will remain unchanged, ensuring Unity UI components that require canvas still work after the switch.

Voir aussiSee also