Übersicht über die Architektur — MRTK3

Architecture MRTK3

Eines der Ziele bei MRTK3 war es, alles zu nehmen, was wir seit dem Start von MRTK2 Anfang 2018 gelernt haben, es mit der Arbeit zu kombinieren, die von unseren Branchenpartnern in OpenXR und Unity seitdem geleistet wurde, und dann am anderen Ende bei einer starken, erweiterbaren Grundlage zu landen, die für MRTK die Möglichkeit eröffnet, den Schwerpunkt mehr auf Unterscheidungsmerkmale und eine insgesamt verbesserte Benutzererfahrung (und Entwicklererfahrung!) zu legen.

Eingabe und Interaktionen

Die Gesamtarchitektur des Eingabestapels von MRTK3 basiert auf vier Basiskomponenten:

  1. OpenXR
    1. Khronos Specification
    2. Unity OpenXR-Plug-In-Dokumentation
    3. Mixed Reality OpenXR-Plug-In-Dokumentation
  2. Unity-Subsysteme
  3. Unity-Eingabesystem
  4. Unity XR Interaction Toolkit

ergänzt um eine Ebene aus MRTK-definierten Interaktoren und Subsystemen, die Features wie Anstupsen und Sprache zur Verfügung stellen.

OpenXR

OpenXR ist die Schnittstelle zwischen einer Anwendung und einem XR-Laufzeitsystem, die das generische Aufrufen einer Reihe gemeinsamer Features und die Verarbeitung der hardwarespezifischen Implementierung durch die XR-Laufzeit ermöglicht. Deren Übernahme zusammen mit dem Unity-Eingabesystem in MRTK3 ermöglicht Unity die Verarbeitung größerer Teile der plattformübergreifenden und erweiterbaren Eingaben, während der Schwerpunkt von MRTK3 darauf liegt, Sie beim Erstellen umfassender Erlebnisse auf dieser Grundlage zu unterstützen.

Subsysteme

Subsysteme und der Unity-SubsystemManager sollten MRTK2-Benutzern konzeptionell vertraut sein, da sie die neuen „Datenanbieter“ darstellen. Die Idee besteht darin, dass verschiedene Plattformen oder Dienste eine Implementierung eines bestimmten MRTK-Subsystemtyps bereitstellen und sie bei Bedarf ausführen lassen können, wodurch sie Daten für MRTK3 und die App insgesamt bereitstellen, genau wie Datenanbieter das für die verschiedenen Systeme in MRTK2 erledigt haben. Da wir uns auf OpenXR konzentrieren, besteht das Ziel darin, dass viele Features von einer anbieterübergreifenden EXT-Erweiterung in OpenXR abgedeckt werden und es keinen Bedarf für mehrfache Subsysteme gibt, zugleich aber anbieterspezifische Erweiterungen frühe technische Fortschritte einbringen können, die wir unterstützen möchten.

Unity-Eingabesystem

Konzeptionell wird sich das Eingabesystem von Unity für Benutzer des MRTK2-Controllerzuordnungsprofils vertraut anfühlen. Es stellt einen zentralen Ort zum Zuordnen der Tasten und anderer Eingabeachsen an einem Controller oder einer Hand zu einer Reihe von Aktionen dar. Diese Aktionen werden dann vom Unity XR Interaction Toolkit (XRI) und MRTK3 konsumiert, sodass das Objekt der Interaktion sich nicht so viel damit befassen muss, wodurch es manipuliert wird, sondern nur damit, dass es geschieht.

XR Interaction Toolkit

XRI stellt eine Grundlage für Interaktoren und interaktionsfähige Objekte zur Verfügung. MRTK baut darauf mit einer eigenen Sammlung von Interaktoren und interaktionsfähigen Objekten auf, um zusätzliche Features wie die Verfolgung von Handartikulation, Anvisieren und dem Zusammendrücken der Finger zu ermöglichen.

Weitere Informationen