Modularisation MRTK — MRTK2

L’une des nouvelles fonctionnalités de Mixed Reality Toolkit v2 est l’amélioration de la composantisation. Dans la mesure du possible, les composants individuels sont isolés de tous les composants sauf de la couche principale de la base.

Dépendances réduites

MRTK v2 a été intentionnellement développé pour être modulaire et réduire les dépendances entre les services système (par exemple, la reconnaissance spatiale).

En raison de la nature de certains services système (par exemple, entrée et téléportation), il existe un petit nombre de dépendances.

Bien qu’il soit prévu que les services auront besoin d’un ou de plusieurs composants du fournisseur de données, il n’existe aucun lien direct entre eux. Il en va de même pour les fonctionnalités du SDK (par exemple, composants de l’interface utilisateur).

Communication des composants

Pour garantir l’absence de liens directs entre les composants, MRTK v2 utilise des interfaces pour communiquer entre les services, les fournisseurs de données et le code d’application. Ces interfaces sont définies dans et toutes les communications sont routées via le composant principal Mixed Reality Toolkit.

Utilisation du système de reconnaissance spatiale via des interfaces

Réduction de l’empreinte d’importation MRTK

À ce stade, MRTK est importé en tant que package Foundation unique (en ignorant pour un instant l’existence du package d’exemples, qui est un package entièrement facultatif). Il est possible de réduire cette empreinte en coupant manuellement les fichiers importés, bien qu’il s’agit d’un processus très manuel qui n’a pas de guide bien défini.

Il est possible de décocher des éléments arbitraires lors de l’importation du package Foundation. Toutefois, il n’est pas recommandé de le faire à un stade précoce du développement, car cela risque d’interrompre les fonctionnalités. Après avoir déterminé l’ensemble final de fonctionnalités d’une application, l’élagage des fournisseurs et services inutiles peut être effectué sur les dossiers suivants :

  • MRTK/Services
  • MRTK/Fournisseurs
  • MRTK/SDK/Fonctionnalités

Notes

MRTK v2.x nécessite le contenu du dossier Assets/MRTK/Core.

Fonctionnalités à venir

Architecture de l'application

MRTK aura la prise en charge pour permettre la création d’applications avec une variété d’architectures, notamment :

Lors de la sélection d’une architecture d’application, il est important de prendre en compte la flexibilité de conception et les performances de l’application. Les architectures décrites ici ne sont pas censées convenir à toutes les applications.

Localisateur de service MixedRealityToolkit

MRTK permet (et configure automatiquement) les scènes d’application d’utiliser le composant de localisateur de service par défaut MixedRealityToolkit . Ce composant prend en charge la configuration des systèmes MRTK et des fournisseurs de données via des inspecteurs de configuration, et gère la durée de vie des composants et les comportements principaux (par exemple, quand mettre à jour).

Tous les systèmes sont représentés dans l’inspecteur de configuration de base, qu’ils soient présents ou activés dans le projet. Pour plus d’informations, consultez le Guide de configuration Mixed Reality.

Composants de service individuels

Certains développeurs ont exprimé le désir d’inclure des composants de service individuels dans la hiérarchie de la scène d’application. Pour permettre cette utilisation, les services doivent être encapsulés dans un bureau d’enregistrement personnalisé ou être auto-inscrits/auto-gérés.

Un service d’inscription automatique implémente et s’inscrit lui-même afin que le IMixedRealityServiceRegistrar code d’application puisse découvrir le service instance via un registre.

Un service autogestion peut être implémenté en tant qu’objet singleton dans la hiérarchie de scène. Cet objet fournit et instance propriété que le code d’application peut utiliser pour accéder directement aux fonctionnalités du service.

Localisateur de service personnalisé

Certains développeurs ont demandé la possibilité de créer un composant de localisateur de service personnalisé. Les localisateurs de services personnalisés implémentent l’interface IMixedRealityServiceRegistrar et gèrent le cycle de vie et les principaux comportements des services actifs.

Architecture hybride

MRTK prend en charge une architecture hybride dans laquelle les développeurs peuvent combiner les approches précédentes si nécessaire ou souhaité. Par exemple, un développeur peut commencer par le localisateur de MixedRealityToolkit services et ajouter un service d’inscription automatique.

Notes

Lorsque vous optez pour une architecture hybride, il est important de garder à l’esprit toute duplication de travail (par exemple: acquisition de données de contrôleur à partir de plusieurs composants).