핵심 하위 시스템: PhraseRecognitionSubsystem — MRTK3

참고

MRTK3의 하위 시스템에 대한 일반적인 내용은 여기를 참조하세요.

핵심 정의 패키지는 MRTK3에서 키워드/구 인식을 담당하는 하위 시스템의 기반이 되는 MRTKSubsystemIPhraseRecognitionSubsystem의 기본 구현인 PhraseRecognitionSubsystem을 제공합니다. MRTK의 일부로 제공되는 구체적인 구현(예: WindowsPhraseRecognitionSubsystem)과 빌드할 수 있는 다른 잠재적 구 인식 하위 시스템은 모두 이 클래스를 기반으로 해야 합니다. PhraseRecognitionSubsystem에서 상속되는 하위 시스템은 상호 작용 가능 개체의 설정에 따라 SpeechInteractor에서 StatefulInteractable의 선택 이벤트를 트리거하는 데 사용할 수 있습니다. 또한 상속된 하위 클래스는 선택한 키워드에 임의의 UnityAction을 등록할 수 있으므로 해당 단어가 언급될 때 작업이 호출됩니다.

보다 구체적인 정보는 사용하려는 구체적인 PhraseRecognitionSubsystem 구현에 대한 설명서를 참조하세요.

설치 프로그램

참고

이 가이드에서는 새 MRTK 프로젝트에서 음성 하위 시스템을 사용하도록 설정하는 단계를 제공합니다(다른 기본 비 음성 관련 설정 포함). 샘플 프로젝트를 사용하는 경우 몇 가지 단계가 자동으로 수행되었음을 알 수 있습니다.

1. 음성 하위 시스템 사용

프로젝트 설정>MRTK3사용 가능한 MRTK 하위 시스템으로 이동한 다음, 사용하려는 음성 하위 시스템을 사용하도록 설정합니다.

2. 구성 자산 할당(특정 하위 시스템의 경우)

특정 하위 시스템의 경우 정상적인 성능을 발휘하려면 구성 자산이 필요합니다.

  1. 설치 1에서 사용하도록 설정한 하위 시스템을 클릭합니다.
  2. 오른쪽의 하위 시스템 세부 정보 아래에 빈 Configuration Asset 슬롯이 표시되는지 확인합니다. 표시되는 경우 자산 - >만들기MRTK>하위시스템>[하위 시스템의 이름] 구성을 선택한 다음, 생성된 구성을 슬롯으로 끌어서 새 구성을 만듭니다.
  3. 구성 슬롯이 채워져 있는지 확인한 후 특정 프로젝트에 대해 새로 만든 구성의 설정을 변경합니다. 완료되면 프로젝트를 저장해야 합니다.

3. MRTK Speech GameObject가 활성 상태인지 확인(StatefulInteractable(예: 단추)가 구에 응답하는 데 필요)

MRTK XR Rig -> MRTK Speech가 활성화되어 있고 연결된 스크립트가 사용하도록 설정되어 있는지 확인합니다.

4. Player Settings에서 적절한 기능이 설정되어 있는지 확인

PhraseRecognitionSubsystem의 다양한 구현에는 다양한 필수 기능이 있습니다. 자세한 내용은 사용하려는 하위 시스템의 설명서를 참조하세요.

예를 들어 UWP Platform에서 WindowsPhraseRecognitionSubsystem을 사용하려면 프로젝트 설정>플레이어>게시 설정>기능으로 이동하여 마이크 기능이 설정되어 있는지 확인합니다.

5. 디바이스/편집기에서 장면 실행

이제 디바이스 또는 편집기에서 프로젝트를 실행할 준비가 되었습니다.

PhraseRecognitionSubsystem 사용

PhraseRecognitionSubsystem을 StatefulInteractable(예: 단추)과 함께 사용

PhraseRecognitionSubsystem을 사용하는 가장 쉬운 방법은 StatefulInteractable과 함께 사용하는 것입니다. 설정 섹션 아래의 3단계가 수행되면 이러한 상호 작용 가능 개체에 지정된 조건이 충족될 경우(예: 지정된 구를 말하고 상호 작용 가능 개체를 응시하여 가리킨 경우) SpeechInteractorStatefulInteractable에서 선택 이벤트를 트리거합니다. 구성 가능한 설정은 StatefulInteractableSpeechInteractor의 검사기(MRTK XR Rig -> MRTK Speech)를 참조하세요.

PhraseRecognitionSubsystem을 수동으로 사용

PhraseRecognitionSubsystem을 사용하는 또 다른 방법은 구를 수동으로 등록하고 하위 시스템에서 구가 들릴 때 보려는 UnityAction이 호출되도록 하는 것입니다.

// Get the first running phrase recognition subsystem.
var phraseRecognitionSubsystem = XRSubsystemHelpers.GetFirstRunningSubsystem<PhraseRecognitionSubsystem>();

// If we found one...
if (phraseRecognitionSubsystem != null)
{
    // Register a phrase and its associated action with the subsystem
    phraseRecognitionSubsystem.CreateOrGetEventForPhrase("your phrase").AddListener(() => Debug.Log("Phrase recognized"));
}