Share via


Sottosistema core: KeywordRecognitionSubsystem — MRTK3

Nota

Per informazioni generali sui sottosistemi in MRTK3, vedere qui.

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

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

Installazione

Nota

Questa guida illustra i passaggi per abilitare un sottosistema vocale in un nuovo progetto MRTK (con altre configurazioni non vocali di base sul posto). Se si usa il progetto di esempio, è possibile notare che alcuni passaggi sono stati eseguiti per l'utente.

1. Abilitare il sottosistema voce

Passare a Impostazioni> progettoMRTK3Sottosistemi MRTK disponibili e quindi abilitare il sottosistema vocale da usare.

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

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

  1. Fare clic sul sottosistema abilitato nell'installazione 1.
  2. Verificare se uno slot vuoto Configuration Asset viene visualizzato in Dettagli sottosistema a destra. In tal caso, creare una nuova configurazione selezionando Asset ->Creasottosistemi>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 StatefulInteractables (ad esempio, pulsanti) per rispondere alle frasi)

Assicurarsi che MRTK XR Rig -> MRTK Speech sia attivo e che gli script collegati siano abilitati.

4. Verificare 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 che si vuole usare.

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

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 consiste nell'usarlo KeywordRecognitionSubsystem con StatefulInteractables. Se il passaggio 3 nella sezione di installazione viene eseguito, verrà attivato l'attivazione SpeechInteractor di eventi StatefulInteractablesu s quando vengono soddisfatte le condizioni specificate in tali interazioni (ad esempio, viene sentito un'espressione specificata e l'interazione è con il puntatore dello sguardo). Per le impostazioni configurabili, vedere il controllo di StatefulInteractable e SpeechInteractor (MRTK XR XR Rig -> MRTK Speech).

Uso manuale di KeywordRecognitionSubsystem

Un modo alternativo per usare KeywordRecognitionSubsystem consiste nel registrare manualmente la parola chiave e per UnityAction visualizzare la parola chiave richiamata quando la parola chiave viene sentito 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"));
}