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.
- Fare clic sul sottosistema abilitato nell'installazione 1.
- 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. - 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 StatefulInteractable
s (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 StatefulInteractable
s (ad esempio, pulsanti)
Il modo più semplice da usare consiste nell'usarlo KeywordRecognitionSubsystem
con StatefulInteractable
s. Se il passaggio 3 nella sezione di installazione viene eseguito, verrà attivato l'attivazione SpeechInteractor
di eventi StatefulInteractable
su 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"));
}