Vue d’ensemble d’une architecture MRTK3

Architecture MRTK3

L’un des objectifs avec MRTK3 était de prendre tout ce que nous avons appris depuis le commencement de MRTK2, début 2018, de le combiner avec le travail accompli depuis par nos partenaires du secteur dans OpenXR et Unity, et de sortir de l’autre côté avec une base solide et extensible permettant à MRTK de se concentrer davantage sur la fourniture de facteurs de différenciation, et une expérience utilisateur (et développeur) globale améliorée.

Entrée et interactions

L’architecture globale de la pile d’entrée de MRTK3 repose sur quatre composants fondamentaux :

  1. OpenXR
    1. Spécification Khronos
    2. Documentation du plug-in Unity OpenXR
    3. Documentation du plug-in Mixed Reality OpenXR
  2. Sous-systèmes Unity
  3. Système d’entrée de Unity
  4. Kit de ressources d’interaction XR de Unity

avec une couche d’interactions et de sous-systèmes définis par MRTK, fournissant des fonctionnalités telles que « poke et speech ».

OpenXR

OpenXR est l’interface entre une application et un système de runtime XR, qui permet d’appeler un ensemble commun de fonctionnalités de manière générique, et d’autoriser la gestion de l’implémentation spécifique du matériau par le runtime XR. L’adoption de cela, ainsi que du système d’entrée de Unity, dans MRTK3 permet à Unity de gérer davantage l’histoire de l’entrée multiplateforme et extensible, tout en permettant à MRTK3 de se concentrer sur l’aide à la création d’expériences riches.

Sous-systèmes

Les sous-systèmes et le SubsystemManager de Unity doivent être conceptuellement familiers aux utilisateurs de MRTK2, car ils sont les nouveaux « fournisseurs de données ». L’idée est que différentes plateformes ou services peuvent fournir une implémentation d’un type spécifique de sous-système MRTK, et l’exécuter quand il le faut, en fournissant des données à MRTK3 et à l’application dans son ensemble, tout comme les fournisseurs de données le faisaient pour les différents systèmes dans MRTK2. Étant donné que nous nous concentrons sur OpenXR, l’objectif est que de nombreuses fonctionnalités soient couvertes par une extension EXT interfournisseur dans OpenXR, et que plusieurs sous-systèmes ne soient pas nécessaires, mais que des extensions spécifiques des fournisseurs puissent représenter des avancées technologiques précoces que nous voulons soutenir.

Système d’entrée de Unity

Conceptuellement, le système d’entrée de Unity semblera également familier aux utilisateurs du profil de mappage du contrôleur MRTK2. Il fournit un emplacement central pour mapper les boutons et d’autres axes d’entrée sur une manette ou une main à un ensemble d’actions. Ces actions sont ensuite consommées par XR Interaction Toolkit (XRI) de Unity et MRTK3, de sorte que l’objet de l’interaction ne se soucie pas tant de ce qui le manipule, que du fait qu’il est manipulé.

XR Interaction Toolkit

XRI fournit une base d’interactions et d’interactionnables. MRTK s’appuie sur cela avec son propre ensemble d’interacteurs et d’interactionnables, ce qui permet des fonctionnalités supplémentaires telles que le suivi de main articulée, le regard et le pincement.

Voir aussi