Condividi tramite


Sottosistema principale: KeywordRecognitionSubsystem — MRTK3

Nota

Per informazioni generali sui sottosistemi in MRTK3, vedere qui.

Il pacchetto Core Definitions include KeywordRecognitionSubsystem, un'implementazione di base di MRTKSubsystem e IKeywordRecognitionSubsystem che funge da base di sottosistemi responsabili del riconoscimento di parole chiave/frase in MRTK3. Implementazione concreta fornita come parte di MRTK come WindowsKeywordRecognitionSubsystem e altri sottosistemi di riconoscimento di frasi potenziali che è possibile compilare dovrebbero essere tutti basati su questa classe. I sottosistemi che ereditano da KeywordRecognitionSubsystem possono funzionare con SpeechInteractor per attivare eventi di selezione in StatefulInteractable's base alle impostazioni delle interazioni. Le sottoclassi ereditate consentiranno anche la registrazione di arbitraria UnityAction's a una parola chiave di propria scelta, in modo che l'azione venga richiamata quando viene detto tale parola.

Per informazioni più specifiche, vedere la documentazione dell'implementazione concreta KeywordRecognitionSubsystem da usare.

Attrezzaggio

Nota

Questa guida illustra i passaggi per abilitare un sottosistema vocale in un nuovo progetto MRTK (con un'altra configurazione non correlata alla voce di base). Se si usa il progetto di esempio, è possibile notare che sono stati eseguiti alcuni passaggi.

1. Abilitare il sottosistema vocale

Passare a Impostazioni progetto MRTK3> Sottosistemi MRTK disponibili e quindi abilitare il sottosistema vocale che si vuole usare.

2. Assegnare un asset di configurazione (per determinati sottosistemi)

Per determinati sottosistemi, è necessario un asset di configurazione affinché venga eseguito normalmente.

  1. Fare clic sul sottosistema abilitato nell'installazione 1.
  2. Controllare se uno slot vuoto Configuration Asset viene visualizzato in Dettagli sottosistema a destra. In tal caso, creare una nuova configurazione selezionando Asset ->Crea sottosistemi> MRTK>[nome del sottosistema] Config e quindi trascinando la configurazione creata nello slot.
  3. Dopo aver verificato che lo slot di configurazione sia popolato, modificare le impostazioni nella configurazione appena creata per il progetto specifico. Ricordarsi di salvare il progetto al termine.

3. Assicurarsi che il gameobject di riconoscimento vocale MRTK sia attivo (obbligatorio per StatefulInteractableconsentire a s (ad esempio, pulsanti) di rispondere alle frasi)

Verificare che MRTK XR Rig -> MRTK Speech sia attivo e che gli script associati siano abilitati.

4. Assicurarsi che le funzionalità appropriate siano impostate in Impostazioni lettore

Diverse implementazioni di KeywordRecognitionSubsystem hanno diverse funzionalità necessarie. Per altre informazioni, vedere la documentazione del sottosistema da usare.

Ad esempio, per usare WindowsKeywordRecognitionSubsystem nella piattaforma UWP, passare a Impostazioni progetto Impostazioni>lettore>Impostazioni di>pubblicazione Funzionalità e assicurarsi che la funzionalità Microfono sia impostata.

5. Esecuzione della scena nel dispositivo/nell'editor

Il progetto dovrebbe ora essere pronto per l'esecuzione nel dispositivo o nell'editor.

Uso di KeywordRecognitionSubsystem

Uso di KeywordRecognitionSubsystem con StatefulInteractables (ad esempio pulsanti)

Il modo più semplice da usare KeywordRecognitionSubsystem consiste nell'usarlo con StatefulInteractables. Se viene eseguito il passaggio 3 nella sezione di installazione, l'oggetto SpeechInteractor attiverà gli eventi di selezione su StatefulInteractables quando vengono soddisfatte le condizioni specificate in tali interazioni( ad esempio, viene ascoltata una frase specificata e l'interazione viene visualizzata con il puntatore dello sguardo fisso). Vedere il controllo di StatefulInteractable e SpeechInteractor (MRTK XR Rig -> MRTK Speech) per le impostazioni configurabili.

Uso manuale di KeywordRecognitionSubsystem

Un modo alternativo per usare KeywordRecognitionSubsystem è registrare manualmente la parola chiave e l'elemento UnityAction che si vuole visualizzare richiamato quando la parola chiave viene ascoltata con il sottosistema.

// 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"));
}