Modularisation MRTK — MRTK2

L’une des nouvelles fonctionnalités de Mixed Reality Toolkit v2 est améliorée. Dans la mesure du possible, les composants individuels sont isolés de toutes les couches principales 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 sensibilisation spatiale).

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

Bien qu’il soit prévu que les services ont besoin d’un ou plusieurs composants de 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, les composants de l’interface utilisateur).

Communication des composants

Pour vous assurer qu’il n’existe aucun lien direct 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 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 (ignorant pour un moment l’existence du package d’exemples, qui est un package complètement facultatif). Il est possible de réduire cet encombrement en réduisant manuellement les fichiers importés, bien qu’il s’agit d’un processus hautement manuel qui n’a pas de guide bien défini.

Il est possible de décocher les éléments arbitraires pendant l’importation du package Foundation. Toutefois, il n’est pas recommandé de le faire à un stade précoce du développement, car il peut interrompre la fonctionnalité. Après avoir compris l’ensemble de fonctionnalités final 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 de 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 des applications. Les architectures décrites ici ne sont pas censées convenir à chaque application.

Localisateur de service MixedRealityToolkit

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

Tous les systèmes sont représentés dans l’inspecteur de configuration principal, qu’ils soient présents ou non 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 scène d’application. Pour activer cette utilisation, les services doivent être encapsulés dans un bureau d’enregistrement personnalisé ou être autoinscrire/ auto-gérer.

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

Un service en libre-gestion peut être implémenté en tant qu’objet singleton dans la hiérarchie de scène. Cet objet fournit et la propriété d’instance 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 localisateur de service personnalisé. Les localisateurs de services personnalisés implémentent l’interface IMixedRealityServiceRegistrar et gèrent le cycle de vie et les comportements principaux des services actifs.

Architecture hybride

MRTK prend en charge une architecture hybride dans laquelle les développeurs peuvent combiner les approches précédentes selon vos besoins ou vos besoins. Par exemple, un développeur peut commencer par le MixedRealityToolkit localisateur de service et ajouter un service en libre-inscription.

Notes

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