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);
}