检测平台功能 - MRTK2

对 MRTK 提出的一个常见问题涉及到了解哪个特定设备(例如 Microsoft HoloLens 2)正在用于运行应用程序。 在不同平台上识别确切的硬件可能很有难度。 MRTK 提供一种在运行时识别特定功能的方式(例如,当前设备终结点是否支持关节手)。

功能

混合现实工具包提供了 MixedRealityCapability 枚举,用于定义应用程序在运行时可以查询的一组功能。

输入系统功能

默认的 MRTK 输入系统支持查询以下功能:

功能 说明
ArticulatedHand 关节手输入
EyeTracking 眼睛视线定位
GGVHand 视线-手势-语音手部输入
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);
}

另请参阅