コア サブシステム: KeywordRecognitionSubsystem — MRTK3
注意
MRTK3 のサブシステムに関する一般的な情報については、こちらを参照してください。
Core Definitions パッケージには、KeywordRecognitionSubsystem
と MRTKSubsystem
の基本実装である IKeywordRecognitionSubsystem
が付属しています。これは、MRTK3 でのキーワードまたはフレーズの認識を担うサブシステムのベースとして機能します。 MRTK の一部として提供される WindowsKeywordRecognitionSubsystem
などの具体的な実装と、構築する可能性のある他のフレーズ認識サブシステムはすべて、このクラスに基づいている必要があります。 から KeywordRecognitionSubsystem
継承するサブシステムは、 と SpeechInteractor
連携して、対話可能なの設定に StatefulInteractable's
基づいて選択イベントをトリガーできます。 継承されたサブクラスでは、任意のキーワード (keyword)に任意UnityAction's
のを登録して、そのような単語が言われたときにアクションが呼び出されるようにすることもできます。
詳細については、使用する具体的な KeywordRecognitionSubsystem
実装のドキュメントを参照してください。
セットアップ
注意
このガイドでは、新しい MRTK プロジェクトで音声サブシステムを有効にする手順について説明します (その他の基本的な非音声関連のセットアップは行われているとします)。 サンプル プロジェクトを使用している場合は、いくつかの手順が実行されていることがわかります。
1. 音声サブシステムを有効にする
[プロジェクト設定]>[MRTK3] [Available MRTK Subsystems] (使用可能な MRTK サブシステム) に移動し、使用する音声サブシステムを有効にします。
2. 構成アセットを割り当てる (特定のサブシステムの場合)
特定のサブシステムでは、正常に実行するために構成アセットが必要です。
- セットアップ 1 で有効にしたサブシステムをクリックします。
- 右側の [サブシステムの詳細] に空
Configuration Asset
のスロットが表示されているかどうかを確認します。 該当する場合は、[アセット] ->[作成][MRTK]>[サブシステム]>[<サブシステムの名前> Config] (<サブシステムの名前> の構成) を選択し、作成された構成をスロットにドラッグします。 - 構成スロットが設定されていることを確認したら、新しく作成した特定プロジェクトの構成の設定を変更します。 完了したら、必ずプロジェクトを保存してください。
3. MRTK Speech GameObject がアクティブであることを確認する (StatefulInteractable
(ボタンなど) でフレーズに応答するためには必須)
[MRTK XR Rig] -> [MRTK Speech] がアクティブであり、アタッチされたスクリプトが有効になっていることを確認します。
4. [プレーヤー設定] で適切な機能が設定されていることを確認する
KeywordRecognitionSubsystem
の実装が異なると、必要な機能が異なります。 詳細については、使用するサブシステムのドキュメントを参照してください。
例として UWP プラットフォームで WindowsKeywordRecognitionSubsystem
を使用するには、[プロジェクト設定]>[プレーヤー]>[Publishing Settings] (発行の設定)>[機能] に移動し、マイク機能が設定されていることを確認します。
5. デバイス/エディターでシーンを実行する
これで、プロジェクトをデバイスまたはエディターで実行する準備が整いました。
KeywordRecognitionSubsystem の使用
KeywordRecognitionSubsystem を と一緒に StatefulInteractable
使用する (ボタンなど)
KeywordRecognitionSubsystem
の最も簡単な使用方法は、StatefulInteractable
と共に使用する方法です。 セットアップ セクションの手順 3 を実行すると、このようなインタラクタブルで指定された条件が満たされた (たとえば、指定されたフレーズが聞こえ、インタラクタブルが視線入力でホバーされている) 場合、SpeechInteractor
によって StatefulInteractable
に対する選択イベントがトリガーされます。 構成可能な設定については、StatefulInteractable
と SpeechInteractor
のインスペクター ([MRTK XR Rig] -> [MRTK Speech]) を参照してください。
KeywordRecognitionSubsystem を手動で使用する
別の方法KeywordRecognitionSubsystem
として、キーワード (keyword)を手動で登録し、UnityAction
サブシステムでキーワード (keyword)が聞こえたときに呼び出される を確認することもできます。
// 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"));
}