Subsistema principal: KeywordRecognitionSubsystem — MRTK3

Nota:

Para obtener información general sobre los subsistemas en MRTK3, consulte aquí.

El paquete Definiciones básicas incluye KeywordRecognitionSubsystem, una implementación base de MRTKSubsystem y IKeywordRecognitionSubsystem que actúa como base de subsistemas responsables del reconocimiento de palabras clave y frases en MRTK3. La implementación concreta que se incluye como parte de MRTK, como WindowsKeywordRecognitionSubsystem y otros subsistemas de reconocimiento de frases potenciales que podría compilar, deben basarse en esta clase. Los subsistemas que heredan de KeywordRecognitionSubsystem pueden funcionar con SpeechInteractor para desencadenar eventos select en StatefulInteractable's en función de la configuración de los interactables. Las subclases heredadas también permitirán el registro de arbitrario UnityAction's en una palabra clave de su elección para que se invoque la acción cuando se diga dicha palabra.

Para obtener información más específica, consulte la documentación de la implementación concreta KeywordRecognitionSubsystem que desea usar.

Instalación

Nota:

En esta guía se proporcionan pasos para habilitar un subsistema de voz en un nuevo proyecto MRTK (con otra configuración básica no relacionada con la voz en su lugar). Si usa nuestro proyecto de ejemplo, es posible que observe que se han realizado algunos pasos.

1. Habilitación del subsistema de voz

Vaya a Configuración del> proyectoMRTK3Subsistemas MRTK disponibles y, a continuación, habilite el subsistema de voz que desea usar.

2. Asignar un recurso de configuración (para determinados subsistemas)

Para determinados subsistemas, se requiere un recurso de configuración para que funcione con normalidad.

  1. Haga clic en el subsistema que ha habilitado en el programa de instalación 1.
  2. Compruebe si aparece una ranura vacía Configuration Asset en Detalles del subsistema a la derecha. Si es así, cree una nueva configuración seleccionando Assets -Create MRTKSubsystems[name of your subsystem] Config (Activos-Crear>subsistemas> MRTK>[nombre del subsistema] Config) y arrastrando la configuración creada a la ranura.
  3. Después de asegurarse de que se rellena la ranura de configuración, cambie la configuración de la configuración recién creada para el proyecto específico. No olvide guardar el proyecto cuando haya terminado.

3. Asegúrese de que MRTK Speech GameObject está activo (es necesario para StatefulInteractableque s (por ejemplo, botones) respondan a frases).

Asegúrese de que MRTK XR Rig -> MRTK Speech está activo y que los scripts adjuntos están habilitados.

4. Asegúrese de que las capacidades adecuadas se establecen en configuración del reproductor.

Las distintas implementaciones de KeywordRecognitionSubsystem tienen diferentes funcionalidades necesarias. Para obtener más información, consulte la documentación del subsistema que desea usar.

Por ejemplo, para usar WindowsKeywordRecognitionSubsystem en la Plataforma para UWP, ve a Configuración> del proyecto Funcionalidades deconfiguración> de publicación delreproductor>y asegúrate de que la funcionalidad Micrófono está establecida.

5. Ejecución de la escena en el editor de dispositivo o en

El proyecto debería estar listo para ejecutarse en el dispositivo o en el editor.

Uso de KeywordRecognitionSubsystem

Uso de KeywordRecognitionSubsystem con StatefulInteractables (por ejemplo, botones)

La manera más fácil de usar KeywordRecognitionSubsystem es usarla con StatefulInteractables. Si se realiza el paso 3 en la sección de configuración, SpeechInteractor desencadenará eventos select en StatefulInteractables cuando se cumplan las condiciones especificadas en dichos interactables (por ejemplo, se escucha una frase especificada y se mantiene el mouse sobre la mirada interactable). Consulte el inspector de StatefulInteractable y SpeechInteractor (MRTK XR Rig -> MRTK Speech) para obtener la configuración configurable.

Uso manual de KeywordRecognitionSubsystem

Una manera alternativa de usar KeywordRecognitionSubsystem es registrar manualmente la palabra clave y la UnityAction que desea que se invoque cuando la palabra clave se escuche con el subsistema.

// Get the first running phrase recognition subsystem.
var keywordRecognitionSubsystem = XRSubsystemHelpers.GetFirstRunningSubsystem<KeywordRecognitionSubsystem>();

// If we found one...
if (keywordRecognitionSubsystem != null)
{
    // Register a keyword and its associated action with the subsystem
    keywordRecognitionSubsystem.CreateOrGetEventForKeyword("your keyword").AddListener(() => Debug.Log("Keyword recognized"));
}