Megosztás a következőn keresztül:


Alapvető alrendszer: KeywordRecognitionSubsystem – MRTK3

Feljegyzés

Az MRTK3 alrendszerekkel kapcsolatos általános információkért lásd itt.

Az alapdefiníciók csomag KeywordRecognitionSubsystemaz MRTK3 kulcsszó-/kifejezésfelismeréséért felelős alrendszerek bázisaként MRTKSubsystem IKeywordRecognitionSubsystem szolgál. Az MRTK részeként szállított konkrét implementációknak, mint például WindowsKeywordRecognitionSubsystem a lehetséges kifejezésfelismerési alrendszerek, amelyeket felépíthet, mind ennek az osztálynak kell alapulnia. Az öröklő KeywordRecognitionSubsystem alrendszerek az SpeechInteractor interakciós beállítások alapján aktiválhatják az eseményeket StatefulInteractable's . Az öröklött alosztályok lehetővé teszik az tetszőleges UnityAction's kulcsszó regisztrálását is, hogy a művelet az ilyen szó kimondásakor meg legyen hívva.

További információkért tekintse meg a használni kívánt konkrét KeywordRecognitionSubsystem megvalósítás dokumentációját.

Beállítás

Feljegyzés

Ez az útmutató lépésekkel teszi lehetővé a beszédalrendszer használatát egy új MRTK-projektben (más alapvető, nem beszéddel kapcsolatos beállításokkal). Ha a mintaprojektet használja, észreveheti, hogy néhány lépést végrehajtottak Önnek.

1. A beszédalrendszer engedélyezése

Nyissa meg a Project Settings>MRTK3 Rendelkezésre álló MRTK-alrendszereket, majd engedélyezze a használni kívánt beszédalrendszert.

2. Konfigurációs eszköz hozzárendelése (bizonyos alrendszerekhez)

Bizonyos alrendszerek esetében egy konfigurációs eszközre van szükség ahhoz, hogy az megfelelően teljesíthessen.

  1. Kattintson az 1. beállításban engedélyezett alrendszerre.
  2. Ellenőrizze, hogy megjelenik-e egy üres Configuration Asset pont a jobb oldali Alrendszer részletei területen. Ha igen, hozzon létre egy új konfigurációt az Eszközök –>MRTK-alrendszerek>> létrehozása[az alrendszer neve] konfiguráció kiválasztásával, majd húzza a létrehozott konfigurációt a pontra.
  3. Miután meggyőződett arról, hogy a konfigurációs pont ki van töltve, módosítsa a beállításokat az adott projekt újonnan létrehozott konfigurációjában. Ne felejtse el menteni a projektet, ha elkészült.

3. Győződjön meg arról, hogy az MRTK Speech GameObject aktív (szükséges ahhoz StatefulInteractable, hogy az s (például gombok) válaszoljanak a kifejezésekre)

Győződjön meg arról, hogy az MRTK XR Rig –> MRTK Speech aktív, és a csatolt szkript(ek) engedélyezve vannak.

4. Győződjön meg arról, hogy a megfelelő képességek be vannak állítva a Lejátszó beállításai között

A különböző implementációk KeywordRecognitionSubsystem különböző szükséges képességekkel rendelkeznek. További információkért tekintse meg a használni kívánt alrendszer dokumentációját.

Ha például az UWP platformon szeretné használniWindowsKeywordRecognitionSubsystem, nyissa meg a Project Settings>Player>közzétételi beállításainak>képességeit, és győződjön meg arról, hogy a Mikrofon funkció be van állítva.

5. A jelenet futtatása eszközön/szerkesztőben

A projektnek most már készen kell állnia az eszközön vagy a szerkesztőben való futtatásra.

A KeywordRecognitionSubsystem használata

A KeywordRecognitionSubsystem használata s-vel StatefulInteractable(például gombokkal)

A legegyszerűbben úgy használhatja KeywordRecognitionSubsystem , ha s-vel StatefulInteractablehasználja. Ha a beállítási szakaszban a 3. lépés végrehajtása történik, a SpeechInteractor rendszer kiválasztja az eseményeket az s-en StatefulInteractable, amikor teljesülnek az ilyen interakciókban megadott feltételek (például egy adott kifejezés hallható, és az interakcióra alkalmas látható). Konfigurálható beállításokért tekintse meg az SpeechInteractor és (MRTK XR Rig –> MRTK Speech) felügyelőtStatefulInteractable.

A KeywordRecognitionSubsystem manuális használata

Másik lehetőségként manuálisan regisztrálhatja KeywordRecognitionSubsystem a kulcsszót, és a UnityAction meghívni kívánt kulcsszavakat, amikor a kulcsszót az alrendszerrel hallja.

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