Detección de las funcionalidades de la plataforma

Una pregunta común que se hace 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 un desafío 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 Mixed Reality Toolkit proporciona la enumeración , que define un conjunto de funcionalidades para las que una aplicación MixedRealityCapability 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 la mano Gesto de mirada y 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 las 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 compatible con mallas espaciales.

bool supportsSpatialMesh = false;

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

Consulte también