Udostępnij za pośrednictwem


Podsystem podstawowy: Słowo kluczoweRecognitionSubsystem — MRTK3

Uwaga

Aby uzyskać ogólne informacje na temat podsystemów w narzędziu MRTK3, zobacz tutaj.

Pakiet Core Definitions dostarcza KeywordRecognitionSubsystempodstawową implementację MRTKSubsystem i IKeywordRecognitionSubsystem służy jako podstawa podsystemów odpowiedzialnych za rozpoznawanie słów kluczowych/fraz w narzędziu MRTK3. Konkretna implementacja dostarczana w ramach zestawu narzędzi MRTK, takich jak WindowsKeywordRecognitionSubsystem i inne potencjalne podsystemy rozpoznawania fraz, które można utworzyć, powinny być oparte na tej klasie. Podsystemy dziedziczone z KeywordRecognitionSubsystem programu mogą pracować z SpeechInteractor programem w celu wyzwolenia wybranych zdarzeń na StatefulInteractable's podstawie ustawień interakcji. Dziedziczone podklasy będą również zezwalać na rejestrację dowolnego UnityAction's słowa kluczowego wybranego słowa, tak aby akcja została wywołana, gdy takie słowo zostanie powiedziane.

Aby uzyskać bardziej szczegółowe informacje, zapoznaj się z dokumentacją konkretnego KeywordRecognitionSubsystem wdrożenia, którego chcesz użyć.

Ustawienia

Uwaga

Ten przewodnik zawiera kroki umożliwiające włączenie podsystemu mowy w nowym projekcie zestawu narzędzi MRTK (z inną podstawową konfiguracją niezwiązaną z mową). Jeśli używasz naszego przykładowego projektu, możesz zauważyć, że wykonano pewne kroki.

1. Włączanie podsystemu mowy

Przejdź do pozycji Ustawienia>projektu MRTK3 Dostępne podsystemy MRTK, a następnie włącz podsystem mowy, którego chcesz użyć.

2. Przypisywanie zasobu konfiguracji (dla niektórych podsystemów)

W przypadku niektórych podsystemów wymagany jest zasób konfiguracji, aby działał normalnie.

  1. Kliknij podsystem, który został włączony w instalatorze 1.
  2. Sprawdź, czy puste Configuration Asset miejsce jest wyświetlane w obszarze Szczegóły podsystemu po prawej stronie. Jeśli tak, utwórz nową konfigurację, wybierając pozycję Zasoby —>Utwórz podsystemy> MRTK>[nazwa podsystemu] Konfiguracji, a następnie przeciągając utworzoną konfigurację do miejsca.
  3. Po upewnieniu się, że miejsce konfiguracji jest wypełnione, zmień ustawienia w nowo utworzonej konfiguracji dla określonego projektu. Pamiętaj, aby zapisać projekt po zakończeniu.

3. Upewnij się, że obiekt Speech GameObject zestawu narzędzi MRTK jest aktywny (wymagany w celu StatefulInteractableobsługi s (na przykład przycisków) w celu odpowiadania na frazy)

Upewnij się, że zestaw narzędzi MRTK XR —> mowa MRTK jest aktywna, a dołączone skrypty są włączone.

4. Upewnij się, że odpowiednie możliwości są ustawione w ustawieniach odtwarzacza

Różne implementacje KeywordRecognitionSubsystem mają różne wymagane możliwości. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją podsystemu, którego chcesz użyć.

Aby na przykład użyć WindowsKeywordRecognitionSubsystem na platformie UWP, przejdź do pozycji Project Settings Player Publishing Settings Settings (Ustawienia projektu)>>Funkcje publikowania odtwarzacza>i upewnij się, że ustawiono możliwość mikrofonu.

5. Uruchamianie sceny na urządzeniu/w edytorze

Projekt powinien być teraz gotowy do uruchomienia na urządzeniu lub w edytorze.

Używanie słowa kluczowegoRecognitionSubsystem

Używanie słowa kluczowegoRecognitionSubsystem z StatefulInteractables (na przykład przyciskami)

Najprostszym sposobem użycia KeywordRecognitionSubsystem jest użycie go z StatefulInteractables. Jeśli krok 3 w sekcji konfiguracji zostanie wykonany, SpeechInteractor wyzwóle wybranie zdarzeń na StatefulInteractables, gdy zostaną spełnione warunki określone w takich interakcjach (na przykład zostanie wysłuchana określona fraza i interakcja jest najechana kursorem). Zobacz inspektora StatefulInteractable i SpeechInteractor (MRTK XR Rig -> MRTK Speech) w celu skonfigurowania ustawień.

Ręczne używanie słowa kluczowegoRecognitionSubsystem

Alternatywnym sposobem użycia KeywordRecognitionSubsystem jest ręczne zarejestrowanie słowa kluczowego i UnityAction wywołanie słowa kluczowego, gdy słowo kluczowe jest słyszane z podsystemem.

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