中の人こんにちは、ナレコム菅井です。Azure303のアプリを作っていきたいと思います。今回使用したツールは以下の通りです。Understandingを使って、ユーザーの言葉から意図する通り物体の色を変えるアプリを作ることです。Portalでインスタンスを追加する。Portalでアプリを作る。Portalにログインします。Understandingと検索します。下のようなアイコンが出てきたら開きます。Understandingの説明が出てきますので、[作成]をクリックします。出てこない場合は右に画面をスライドしてみてください。Understandingに関する情報を入力する画面になりますので、入力していきます(※記入例です)。入力し終わったら、[作成]をクリックします。お知らせタブを開きます。デプロイが終了したら、[リソースへ移動]します。Understandingサービスのインスタンスが作られました。キーを取得する]の[キー]をクリックするとキーを確認できま。このキーは後ほど使います。Portalに移動します。up]をクリックします。使うのがはじめての場合このような画面が出るかもしれません。国を選択し、チェックボックスにチェックを入れた後、[Continue]をクリックします。app]をクリックします。app]をクリックします。アプリの情報を入力する画面になります。ここに入力を済ませて[Done]をクリックすればアプリが作られます。このままでは何の役にも立ちません。2.準備(2)この章では、どのような言葉を識別させるかを入力していきたいと思います。言葉を分類するときに使うタグを作っていきます。entity]をクリックします。typeをSimpleとします。[Done]を押して完了です。同様にしてtargetも作ります。続いて、タグ付けするための言葉を作っていきます。intent]をクリックし新しいインテントを作ります。名前をChangeObjectColorとし[Done]とします。ボックスに言葉を入力してエンターを押します。cを繰り返し様々な言葉を作ります。物体[cube,sphere,cylinder,代名詞]を[色]に変えるという文を作るようにします。作った文にタグ付けをしていきます。物体にはobject、色にはcolorタグをつけていきます。タグをつけたい単語をクリックし、適切なタグをつけていきます。全てにタグをつけ終わったらここで[Train]を押してタグを学習させます。[PUBLISH]を押して学習させたものを公開します。これによってスクリプトで呼び出すことができるようになります。endpoints]をクリックします。このままでは学習させたもののURLが取得できません。resource]をクリックします。新しい画面がポップします。resource]をクリックします。追加した名前でリストに追加されているのがわかると思います。このEndpointは後ほど使いますのでメモしておきましょう。続いてUnityの設定を行っていきたいと思います。以下の手順で進めていきましょう。1.Unityを開き、[New]から新しいプロジェクトをつくる。project]をクリックします。Settings..]からさまざまな項目を編集していく。Settings..]を開きます。Settings..]をクリックします。Settings]を以下のように設定してきます。C#]にチェックを入れます。Settings..]の変更は以上です。続いてシーンを保存します。Scenes]をクリックして、[新しいフォルダー]を選択しScenesと名前をつけた後、そのフォルダー内に名前をMR_LuisSceneとして[保存]します。4.シーン作成シーン内にオブジェクトを配置していきたいと思います。Object]->[Text]でテキストを作り、名前をDictationTextとします。[Inspector]内のその他の編集を行っていきます。Cameraの代わりにHoloToolkitを使います。使うものを以下のリンクからダウンロードしてください。Package..]からダウンロードしたpackageを二つともインポートします。camera]をdeleteします。[Project]から以下の三つを検索し、[Hierarchy]パネルへD&Dします。[Hierarchy]->[MixedRealityCameraParent]->[MixedRealityCamera]の[Inspector]を編集していきます。Manager]の[Inspector]を編集していきます。Cursor]をアタッチします。Component]からAudioSourceを検索しこれを追加します。この章で設定した[Inspector]->[Transform]は目安ですので、より見やすいように編集してください。5.スクリプトの作成ここでは以下の4つのスクリプトを作っていきたいと思います。・MicrophoneManagerLuis・LuisManager・Behaviours・Gazeスクリプトの作り方はまず、すべてのスクリプトをまとめておくフォルダーを作成します。[Project]->[Create]をクリックし、[Folder]を選択して新しいフォルダーを作ります。名前をScriptsとします。Script]をクリックし、クラス名をつけていきます。・MicrophoneManagerLuisこのクラスはMicrophoneで音声をキャプチャし、そのキャプチャした音声をテキストにするクラスです。聞いた音声を順に文字におこしていきます。red」として使用することにします。しゃべった言葉を直接使う方法については後述します。喋り始めてから一度止まるまでの音声がテキストになります。コードは以下の通りです。dictationCaptured;}}}喋った言葉を直接使いたい場合は上のコードの以下の部分を変更します。dictationCaptured;}とします。APIにテキストを送ることです。ここで2.準備(2)で取得したEndpointを使用します。Endpoint–にEndpointを挿入してください。コードは以下の通りです。true){Behaviours.instance.DownSizeTarget(targetForSize);}break;}}}・Behavioursこのクラスは適切なアクションを起こすためのクラスです。変更するオブジェクト、色を指定します。コードは以下の通りです。targetAsGO;}}・Gazeこのクラスはユーザーの視点を更新するクラスです。コードは以下の通りです。null;}}}全てのスクリプトが完成したら、動作するようにアタッチしていきたいと思います。記述した全てのスクリプトを[Hierarchy]パネル内の[MixedRealityCamera]にD&Dします。[MixedRealityCamera]の[Inspector]内に先ほどD&Dしたスクリプトが追加されていると思います。Text]をそれぞれアタッチします。Settings..]->[Build]の順に選択します。新しいフォルダー(BUILDS)を作成し、その中にさらにフォルダー(Luis_V0.1)を作ります。このフォルダーを選択し、保存します。この後の手順についてはこちらを参照してください。Unity上で実行した様子です。HoloLensで実行した時の様子です。