핵심 하위 시스템: PhraseRecognitionSubsystem — MRTK3
참고
MRTK3의 하위 시스템에 대한 일반적인 내용은 여기를 참조하세요.
핵심 정의 패키지는 MRTK3에서 키워드/구 인식을 담당하는 하위 시스템의 기반이 되는 MRTKSubsystem
및 IPhraseRecognitionSubsystem
의 기본 구현인 PhraseRecognitionSubsystem
을 제공합니다. MRTK의 일부로 제공되는 구체적인 구현(예: WindowsPhraseRecognitionSubsystem
)과 빌드할 수 있는 다른 잠재적 구 인식 하위 시스템은 모두 이 클래스를 기반으로 해야 합니다. PhraseRecognitionSubsystem
에서 상속되는 하위 시스템은 상호 작용 가능 개체의 설정에 따라 SpeechInteractor
에서 StatefulInteractable
의 선택 이벤트를 트리거하는 데 사용할 수 있습니다. 또한 상속된 하위 클래스는 선택한 키워드에 임의의 UnityAction
을 등록할 수 있으므로 해당 단어가 언급될 때 작업이 호출됩니다.
보다 구체적인 정보는 사용하려는 구체적인 PhraseRecognitionSubsystem
구현에 대한 설명서를 참조하세요.
설치 프로그램
참고
이 가이드에서는 새 MRTK 프로젝트에서 음성 하위 시스템을 사용하도록 설정하는 단계를 제공합니다(다른 기본 비 음성 관련 설정 포함). 샘플 프로젝트를 사용하는 경우 몇 가지 단계가 자동으로 수행되었음을 알 수 있습니다.
1. 음성 하위 시스템 사용
프로젝트 설정>MRTK3사용 가능한 MRTK 하위 시스템으로 이동한 다음, 사용하려는 음성 하위 시스템을 사용하도록 설정합니다.
2. 구성 자산 할당(특정 하위 시스템의 경우)
특정 하위 시스템의 경우 정상적인 성능을 발휘하려면 구성 자산이 필요합니다.
- 설치 1에서 사용하도록 설정한 하위 시스템을 클릭합니다.
- 오른쪽의 하위 시스템 세부 정보 아래에 빈
Configuration Asset
슬롯이 표시되는지 확인합니다. 표시되는 경우 자산 - >만들기MRTK>하위시스템>[하위 시스템의 이름] 구성을 선택한 다음, 생성된 구성을 슬롯으로 끌어서 새 구성을 만듭니다. - 구성 슬롯이 채워져 있는지 확인한 후 특정 프로젝트에 대해 새로 만든 구성의 설정을 변경합니다. 완료되면 프로젝트를 저장해야 합니다.
3. MRTK Speech GameObject가 활성 상태인지 확인(StatefulInteractable
(예: 단추)가 구에 응답하는 데 필요)
MRTK XR Rig -> MRTK Speech가 활성화되어 있고 연결된 스크립트가 사용하도록 설정되어 있는지 확인합니다.
4. Player Settings에서 적절한 기능이 설정되어 있는지 확인
PhraseRecognitionSubsystem
의 다양한 구현에는 다양한 필수 기능이 있습니다. 자세한 내용은 사용하려는 하위 시스템의 설명서를 참조하세요.
예를 들어 UWP Platform에서 WindowsPhraseRecognitionSubsystem
을 사용하려면 프로젝트 설정>플레이어>게시 설정>기능으로 이동하여 마이크 기능이 설정되어 있는지 확인합니다.
5. 디바이스/편집기에서 장면 실행
이제 디바이스 또는 편집기에서 프로젝트를 실행할 준비가 되었습니다.
PhraseRecognitionSubsystem 사용
PhraseRecognitionSubsystem을 StatefulInteractable
(예: 단추)과 함께 사용
PhraseRecognitionSubsystem
을 사용하는 가장 쉬운 방법은 StatefulInteractable
과 함께 사용하는 것입니다. 설정 섹션 아래의 3단계가 수행되면 이러한 상호 작용 가능 개체에 지정된 조건이 충족될 경우(예: 지정된 구를 말하고 상호 작용 가능 개체를 응시하여 가리킨 경우) SpeechInteractor
가 StatefulInteractable
에서 선택 이벤트를 트리거합니다. 구성 가능한 설정은 StatefulInteractable
및 SpeechInteractor
의 검사기(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"));
}