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);
}

Confira também