Udostępnij za pośrednictwem


Wykrywanie możliwości platformy — MRTK2

Często zadawane pytanie dotyczące zestawu narzędzi MRTK polega na poznaniu, które konkretne urządzenie (np. Microsoft HoloLens 2) jest używane do uruchamiania aplikacji. Identyfikowanie dokładnego sprzętu może być trudne na różnych platformach. Zamiast tego zestaw narzędzi MRTK umożliwia identyfikowanie określonych możliwości w czasie wykonywania (np. jeśli bieżący punkt końcowy urządzenia obsługuje instrukcje wyartykułowane).

Możliwości

Zestaw narzędzi Mixed Reality Udostępnia MixedRealityCapability wyliczenie, które definiuje zestaw możliwości, dla których aplikacja może wykonywać zapytania w czasie wykonywania.

Możliwości systemu wejściowego

Domyślny system wejściowy zestawu narzędzi MRTK obsługuje wykonywanie zapytań dotyczących następujących funkcji:

Możliwość Opis
ArticulatedHand Przegubowe wejście ręczne
EyeTracking Ukierunkowanie wzroku
GGVHand Wejście rąk do gestu wzroku
MotionController Wejście kontrolera ruchu
VoiceCommand Polecenia głosowe używające słów kluczowych zdefiniowanych przez aplikację
VoiceDictation Głos na dyktowanie tekstu

Poniższy przykładowy kod sprawdza, czy system wejściowy załadował dostawcę danych z obsługą wyartykułowanych rąk.

bool supportsArticulatedHands = false;

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

Możliwości rozpoznawania przestrzennego

Domyślny system rozpoznawania przestrzennego zestawu narzędzi MRTK obsługuje wykonywanie zapytań dotyczących następujących funkcji:

Możliwość Opis
SpatialAwarenessMesh Siatki przestrzenne
SpatialAwarenessPlane Płaszczyzny przestrzenne
SpatialAwarenessPoint Punkty przestrzenne

Ten przykład sprawdza, czy system rozpoznawania przestrzennego załadował dostawcę danych z obsługą siatek przestrzennych.

bool supportsSpatialMesh = false;

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

Zobacz też