检测平台功能
有关MRTK的一个常见问题是,知道使用哪个特定设备(例如Microsoft HoloLens 2)来运行应用程序。在不同的平台上识别准确的硬件是很有挑战性的。相反,MRTK提供了一种在运行时识别特定功能的方法(例如,如果当前设备端点支持全关节手)。
Capabilities (功能)
混合现实工具包提供了 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);
}