Detectando funcionalidades da plataforma — MRTK2
Uma pergunta comum feita ao MRTK envolve saber qual dispositivo específico (por exemplo, Microsoft HoloLens 2) está sendo usado para executar um aplicativo. Identificar o hardware exato pode ser desafiador em diferentes plataformas. Em vez disso, o MRTK fornece uma maneira de identificar recursos específicos em runtime (por exemplo, se o ponto de extremidade do dispositivo atual dá suporte a mãos articuladas).
Funcionalidades
O kit de ferramentas Realidade Misturada fornece a MixedRealityCapability
enumeração , que define um conjunto de recursos para os quais um aplicativo pode consultar em runtime.
Recursos do sistema de entrada
O sistema de entrada mrtk padrão dá suporte à consulta dos seguintes recursos:
Funcionalidade | Descrição |
---|---|
ArticulatedHand | Entrada de mão articulada |
EyeTracking | Direcionamento de foco com os olhos |
GGVHand | Entrada de mão de Gaze-Gesture-Voice |
MotionController | Entrada do controlador de movimento |
VoiceCommand | Comandos de voz usando palavras-chave definidas pelo aplicativo |
VoiceDictation | Ditado de voz em texto |
O código de exemplo abaixo verifica se o sistema de entrada carregou um provedor de dados com suporte para mãos articuladas.
bool supportsArticulatedHands = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}
Recursos de reconhecimento espacial
O sistema padrão de Reconhecimento Espacial do MRTK dá suporte à consulta dos seguintes recursos:
Funcionalidade | Descrição |
---|---|
SpatialAwarenessMesh | Malhas espaciais |
SpatialAwarenessPlane | Planos espaciais |
SpatialAwarenessPoint | Pontos espaciais |
Este exemplo verifica se o sistema de reconhecimento espacial carregou um provedor de dados com suporte para malhas espaciais.
bool supportsSpatialMesh = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}