Detección de funcionalidades de plataforma: MRTK2

Una pregunta habitual de MRTK implica saber qué dispositivo específico (por ejemplo, Microsoft HoloLens 2) se usa para ejecutar una aplicación. Identificar el hardware exacto puede ser complicado en diferentes plataformas. En su lugar, MRTK proporciona una manera de identificar funcionalidades específicas en tiempo de ejecución (por ejemplo, si el punto de conexión del dispositivo actual admite manos articuladas).

Funcionalidades

El kit de herramientas Mixed Reality proporciona la MixedRealityCapability enumeración , que define un conjunto de funcionalidades para las que una aplicación puede consultar en tiempo de ejecución.

Funcionalidades del sistema de entrada

El sistema de entrada MRTK predeterminado admite la consulta de las siguientes funcionalidades:

Capacidad Descripción
ArticulatedHand Entrada de mano articulada
EyeTracking Objetivo de mirada con ojos
GGVHand Entrada de mano de voz de gesto de mirada
MotionController Entrada del controlador de movimiento
VoiceCommand Comandos de voz mediante palabras clave definidas por la aplicación
VoiceDictation Dictado de voz a texto

El código de ejemplo siguiente comprueba si el sistema de entrada ha cargado un proveedor de datos con compatibilidad con manos articuladas.

bool supportsArticulatedHands = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}

Funcionalidades de reconocimiento espacial

El sistema de reconocimiento espacial de MRTK predeterminado admite la consulta de las siguientes funcionalidades:

Capacidad Descripción
SpatialAwarenessMesh Mallas espaciales
SpatialAwarenessPlane Planos espaciales
SpatialAwarenessPoint Puntos espaciales

En este ejemplo se comprueba si el sistema de reconocimiento espacial ha cargado un proveedor de datos con compatibilidad con mallas espaciales.

bool supportsSpatialMesh = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}

Vea también