Detección de funcionalidades de plataforma: MRTK2

Una pregunta común que se hace sobre MRTK implica saber qué dispositivo específico (por ejemplo, Microsoft HoloLens 2) se usa para ejecutar una aplicación. La identificación del hardware exacto puede ser difícil en distintas 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 de 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 de MRTK predeterminado admite la consulta de las siguientes funcionalidades:

Capacidad Descripción
ArticulatedHand Entrada de mano articulada
EyeTracking Objetivo de la mirada con los ojos
GGVHand Entrada de mano mirada-gesto-voz
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);
}

Consulte también