Detetar capacidades da plataforma — MRTK2
Uma pergunta comum do MRTK envolve saber que dispositivo específico (por exemplo, Microsoft HoloLens 2) está a ser utilizado para executar uma aplicação. Identificar o hardware exato pode ser um desafio em diferentes plataformas. Em vez disso, o MRTK fornece uma forma de identificar capacidades específicas no runtime (por exemplo, se o ponto final do dispositivo atual suportar mãos articuladas).
Capacidades
O Mixed Reality Toolkit fornece a MixedRealityCapability
enumeração, que define um conjunto de capacidades para as quais uma aplicação pode consultar no runtime.
Capacidades do sistema de entrada
O Sistema de Entrada MRTK predefinido suporta a consulta das seguintes capacidades:
Funcionalidade | Description |
---|---|
ArticuladoHand | Entrada manual articulada |
EyeTracking | Segmentação de olhar para os olhos |
GGVHand | Gaze-Gesture-Voice hand input |
MotionController | Entrada do controlador de movimento |
VoiceCommand | Comandos de voz com palavras-chave definidas pela aplicação |
VoiceDictation | Ditado da voz para o texto |
O código de exemplo abaixo verifica se o sistema de entrada carregou um fornecedor 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);
}
Capacidades de sensibilização espacial
O sistema de Sensibilização Espacial MRTK predefinido suporta a consulta das seguintes capacidades:
Funcionalidade | Description |
---|---|
SpatialAwarenessMesh | Malhas espaciais |
SpatialAwarenessPlane | Planos espaciais |
SpatialAwarenessPoint | Pontos espaciais |
Este exemplo verifica se o sistema de deteção espacial carregou um fornecedor de dados com suporte para malhas espaciais.
bool supportsSpatialMesh = false;
IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}