Platform özelliklerini algılama — MRTK2
MRTK ile ilgili sık sorulan bir soru, bir uygulamayı çalıştırmak için hangi cihazın (örn. Microsoft HoloLens 2) kullanıldığını bilmektir. Donanımın tam olarak belirlenmesi farklı platformlarda zor olabilir. Bunun yerine, MRTK çalışma zamanında belirli özellikleri tanımlamak için bir yol sağlar (örneğin, geçerli cihaz uç noktası eklemli elleri destekliyorsa).
Özellikler
Karma Gerçeklik Araç Seti, bir uygulamanın çalışma zamanında sorgulanabileceği bir özellik kümesini tanımlayan numaralandırmayı sağlarMixedRealityCapability
.
Giriş sistemi özellikleri
Varsayılan MRTK Giriş Sistemi aşağıdaki özellikleri sorgulamayı destekler:
Özellik | Açıklama |
---|---|
ArticulatedHand | Eklemli el girişi |
EyeTracking | Göz bakışı hedefleme |
GGVHand | Bakış-Hareket-Ses el girişi |
MotionController | Hareket denetleyicisi girişi |
VoiceCommand | Uygulama tanımlı anahtar sözcükleri kullanan sesli komutlar |
VoiceDictation | Ses metne dikte etme |
Aşağıdaki örnek kod, giriş sisteminin eklemli eller için destek içeren bir veri sağlayıcısı yüklenip yüklenmediğini denetler.
bool supportsArticulatedHands = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}
Uzamsal farkındalık özellikleri
Varsayılan MRTK Uzamsal Farkındalık sistemi aşağıdaki özellikleri sorgulamayı destekler:
Özellik | Açıklama |
---|---|
SpatialAwarenessMesh | Uzamsal çizgiler |
SpatialAwarenessPlane | Uzamsal düzlemler |
SpatialAwarenessPoint | Uzamsal noktalar |
Bu örnek, uzamsal farkındalık sisteminin uzamsal tire desteğine sahip bir veri sağlayıcısı yüklenip yüklenmediğini denetler.
bool supportsSpatialMesh = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}