Erkennen von Plattformfunktionen

Eine häufig gestellte Frage des MRTK umfasst das Wissen, welches bestimmte Gerät (z. B. Microsoft HoloLens 2) zum Ausführen einer Anwendung verwendet wird. Das Ermitteln der genauen Hardware kann auf verschiedenen Plattformen eine Herausforderung darstellen. Stattdessen bietet das MRTK eine Möglichkeit, bestimmte Funktionen zur Laufzeit zu identifizieren (z. B. wenn der aktuelle Geräteendpunkt artikulierte Hände unterstützt).

Funktionen

Das Mixed Reality Toolkit stellt die MixedRealityCapability -Enumeration bereit, die einen Satz von Funktionen definiert, für die eine Anwendung zur Laufzeit Abfragen ausführen kann.

Eingabesystemfunktionen

Das STANDARDMÄßIGE MRTK-Eingabesystem unterstützt das Abfragen der folgenden Funktionen:

Funktion Beschreibung
ArticulatedHand Artikulierte Handeingabe
EyeTracking (Blickverfolgung) Anvisieren mit den Augen
GGVHand Handeingabe mit Anv-Geste-Stimme
MotionController Motion Controller-Eingabe
VoiceCommand Sprachbefehle mit von der App definierten Schlüsselwörtern
VoiceDictation Sprach-zu-Text-Diktat

Der folgende Beispielcode überprüft, ob das Eingabesystem einen Datenanbieter mit Unterstützung für formulierte Hände geladen hat.

bool supportsArticulatedHands = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}

Funktionen zur räumlichen Wahrnehmung

Das standardmäßige MRTK Spatial Awareness-System unterstützt das Abfragen der folgenden Funktionen:

Funktion Beschreibung
SpatialAwarenessMesh Räumliche Gitternetze
SpatialAwarenessPlane Räumliche Ebenen
SpatialAwarenessPoint Räumliche Punkte

In diesem Beispiel wird überprüft, ob das System für räumliche Wahrnehmung einen Datenanbieter mit Unterstützung für räumliche Gitternetze geladen hat.

bool supportsSpatialMesh = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}

Siehe auch