〇準備
・MRTKが導入されているUnityプロジェクトを用意します。
①新規シーンを作成し[AzureSpeechServices]という名前を付けます。
②上部[MixedRealityToolkit]タグから[Add to scene and configure...]でシーンに[MixedRealityToolkit]オブジェクトと[MixedRealityPlaySpace]オブジェクトを追加します。
③[MixedRealityToolkit]オブジェクトのInspectorウィンドウからConfigureを[DefaultHoloLens2ConfigurationProfile]へ切り替えます。
〇音声コマンドの開始動作の構成
音声認識と文字起こしを行うために[Speech SDK] を使うため[Speech SDK]の機能が使用できるように構成を変更する必要があります。
MixedRealityToolkitのProfilerから[Input]、[Speech]タグを開き[Start Behavior]を[AutoStart]から[ManualStart]に変更します。
〇機能の構成
①Unityの上部タグ[Edit]から[BuildSettings]を開きます。この時ターゲットプラットフォームがUWP以外になっていた場合UWPへ[SwitchPlatform]を行います。
②[PlayerSettings]を開きます。[Publishing Settings]の[Capabilities]で[InternetClient][Microphone][SpatialPerception]がチェックが付いて有効になっていることを確認します。
[Capabilities]では使用できる機能を指定することができここではインターネットクライアント(インターネットへの接続)、マイクロフォン、空間認識をそれぞれ使用することを設定します。
③[Capabilities]で[InternetClientServer]と[PrivateNetworkClientServer]にチェックを入れます。
[InternetClient]は公共のインターネット出力へのアクセスを許可するもので[InternetClientServer]は入出力どちらも許可する設定になります。
[PrivateNetworkClientServer]は自宅や職場などのネットワークでの入出力のアクセスを許可する設定になります。
〇サンプルプロジェクトのダウンロード
今回参考にしているMicrosoftのドキュメントから画像の3つのアセットをダウンロード、プロジェクトへインポートします。
ダウンロードするものは以下の3つです。
・Microsoft.CognitiveServices.Speech.N.N.N.unitypackage
・MRTK.HoloLens2.Unity.Tutorials.Assets.GettingStarted.2.3.0.3.unitypackage
・MRTK.HoloLens2.Unity.Tutorials.Assets.AzureSpeechServices.2.3.0.0.unitypackage
インポートできるとプロジェクトウィンドウは画像のようになります。
〇シーンの作成と準備
①[Project]ウィンドウで、 [Assets] / [MRTK.Tutorials.AzureSpeechServices] /[Prefabs]フォルダーに移動し、[Lunarcom] プレハブをシーンに追加します。
②[Hierarchy]ウィンドウで[Lunarcom]オブジェクトを選択した状態で、[Inspector]ウィンドウで から[Add Component]ボタンを使用して、[Lunarcom Controller]コンポーネントを追加します。
③[Lunarcom] オブジェクトの子オブジェクトを表示し[Terminal]オブジェクトを[Lunarcom Controller]コンポーネントの [Terminal]にドラッグします
④[Terminal] の子オブジェクト[ConnectionLight] オブジェクトを[Lunarcom Controller]コンポーネントの [Connection Light]にアタッチします。
⑤[OutputText]オブジェクトを [Output Text]にドラッグします。
⑥Buttons オブジェクトの子オブジェクトを[Lunarcom] の[Inspector]ウィンドウで [Buttons]リストを展開し、 Size を[3]に設定し、[MicButton]、[SatelliteButton]、[RocketButton]の各オブジェクトをドラッグします。
以上でシーンの構成が完了しました