检测平台功能 - 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);
}