プラットフォーム機能の検出 — MRTK2
MRTK に関してよく寄せられる質問は、アプリケーションの実行に使用されている特定のデバイス (Microsoft HoloLens 2 など) を把握することです。 プラットフォームによっては、正確なハードウェアの特定が難しい可能性があります。 MRTK ではその代わりに、特定の機能 (たとえば、現在のデバイス エンドポイントで多関節ハンドがサポートされているかどうか) を実行時に特定する方法を提供しています。
機能
Mixed Reality Toolkit には、アプリケーションで実行時にクエリできる一連の機能を定義する MixedRealityCapability
列挙型が用意されています。
入力システムの機能
既定の MRTK 入力システムでは、次の機能のクエリがサポートされています。
機能 | 説明 |
---|---|
ArticulatedHand | 多関節ハンド入力 |
EyeTracking | 視線入力のターゲット設定 |
GGVHand | Gaze-Gesture-Voice 手入力 |
MotionController | モーション コントローラー入力 |
VoiceCommand | アプリ定義のキーワードを使用した音声コマンド |
VoiceDictation | 音声からテキストへのディクテーション |
次のコード例では、入力システムで、多関節ハンドのサポート付きでデータ プロバイダーが読み込まれているかどうかを確認します。
bool supportsArticulatedHands = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}
空間認識機能
既定の MRTK 空間認識システムでは、次の機能のクエリがサポートされています。
機能 | 説明 |
---|---|
SpatialAwarenessMesh | 空間メッシュ |
SpatialAwarenessPlane | 空間平面 |
SpatialAwarenessPoint | 空間点 |
この例では、空間認識システムで、空間メッシュのサポート付きでデータ プロバイダーが読み込まれているかどうかを確認します。
bool supportsSpatialMesh = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}