中の人こんにちは、ナレコム菅井です。Azure312のアプリを作っていきます。開発環境は以下のとおりです。15.9.7・HoloLens目標はHoloLensを介してボットと通信するアプリを実装していきます。Webアプリとして作っていきます。Studioを開き、[新しいプロジェクトの作成]をクリックします。アプリケーション]を選択し、名前をMyBotとして[OK]を押します。Installerから該当する項目を追加します。2.0]に、[認証なし]になっていることを確認して[OK]を押します。4.ソリューションが開きますので、[ソリューション]を右クリックし[ソリューションのNuGetパッケージの管理]を選択します。5.[参照]からMicrosoft.Bot.Builder.Integration.AspNet.Coreを検索し、[プロジェクト]にチェックをいれ(自動的にMyBotにもチェックが入り)、インストールします。バージョンは4.0.1-previewを選びます。他のバージョンだと後の工程でエラーが発生する可能性があります。6.続いてMyBot(先ほど決めた名前)の上で右クリックし、[追加]->[クラス]を選択します。Core]->[コード]から[クラス]を選択し、名前をMyBot.csとして[追加]します。同様にしてConversationContext.csというクラスも作ります。8.[MyBot]->[wwwroot]を右クリックして[追加]->[新しい項目]をクリックします。9.[HTMLページ]を選択して名前をdefault.htmlとして[追加]します。10.続いて、先程追加したC#のスクリプトを編集していきます。ConversationContext.csに以下のように変更します。userMsg;}}11.次にMyBotクラスを編集してきます。コードは以下のとおりです。name?");}}}}12.最後にStartup.csを変更します。このクラスはボットの初期化をします。(env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseDefaultFiles();app.UseStaticFiles();app.UseBotFramework();}}}13.Program.csを開き以下のコードと同じであるかを確認します。=>WebHost.CreateDefaultBuilder(args).UseStartup().Build();}}準備の第一段階は終了です。Botサービスのインスタンスを作っていきます。Portalにログインします。Botで検索して、該当項目を選択し、[作成]します。Webアプリボットに関する情報を入力していきます。下と全て同じでなくても大丈夫です。入力し終えたら[作成]します。これでサービスのデプロイが始まります。お知らせアイコンをクリックし、デプロイが終了して[リソースに移動]が表示されたら選択します。作成したボットアプリが開きます。[チャンネル]を開き[おすすめチャンネルの追加]から下の図の左から二番目のアイコンを選択します。のちほど使うキーを保存します。XXXによって隠されているので、[表示]で表示し、コピーしておきます。Studioで一番最初に作成したMyBotに戻ります。2.[MyBot]を右クリックし、[発行]をクリックします。Service]を選び[既存のものを選択]にチェックを入れ、[発行]をクリックします。Portalで作成したときのものにして、フォルダ構造から先ほどのアプリを選択し、[OK]をクリックします。これでアプリが公開されました。続いてUnityの設定を行っていきたいと思います。以下の手順で進めていきましょう。1.Unityを開き、[New]から新しいプロジェクトをつくります。project]をクリックします。Settings..]からさまざまな項目を編集していきます。Settings..]を開きます。Settings..]を編集します。Settings..]をクリックします。Settings]を以下のように設定してきます。Settings..]の変更は以上です。C#]にチェックを入れます。3.続いてシーンに名前をつけます。Scene]をクリックし、新しいフォルダーをScenesとしてつくり、そこに名前をBotSceneとして[保存]します。フォルダーをシーンやスクリプトにわけて作ることでわかりやすくなります。4.メインカメラの設定を行っていきます。Flags]、[Camera]->[Background]を変更します。5.タグを追加します。Tag]を選択し、[BotTag]を追加します。このとき、メインカメラのタグにしないように注意してください。タグを追加するだけです。Newtonsoftライブラリのインポートをします。Package]を選び、ダウンロードしたNewtonsoftをフォルダの中から探し選択し、[Import]をクリックします。7.Newtonsoftの中身を変更していきます。さきほど追加した[Plugins]->[Newtonsoft.Json]を編集していきます。下の図のように変更し、[Apply]します。続いて、[Plugins]->[WSA]->[Newtonsoft.Json]も編集します。同じように以下の図になるように編集して[Apply]します。5.スクリプトの作成ここでは5つのスクリプトを作成していきたいと思います。・BotObjects・GazeInput・Bot・Interactions・SceneOrganiserスクリプトの作り方はまず、すべてのスクリプトをまとめておくフォルダーを作成します。[Project]->[Create]をクリックし、[Folder]を選択して新しいフォルダーを作ります。名前をScriptsとします。Script]をクリックし、クラス名をつけていきます。・BotObjectsこのクラスはアプリで出てくるオブジェクトを一通り格納しています。コードは以下のとおりです。}}・GazeInputこのクラスはユーザーの視線をカーソルとして作成し、視線があたったオブジェクトを検出します。コードは以下の通りです。Botとの会話に必要な操作を行ったりと重要な役割を担っています。コードは以下のとおりです。key–に先ほど保存したキーを挿入します。responseString;}}・Interactionsこのクラスはユーザーのエアタップ動作を検出し、ボットの状態に合わせてUIテキストの表示の変更を行います。コードは以下のとおりです。Conversation...");StartCoroutine(Bot.Instance.StartConversation());}}}}}・SceneOrganiserこのクラスはメインカメラにコンポーネントとスクリプトの追加をして、シーン内に適切にオブジェクトを配置していきます。コードは以下のとおりです。CameraにD&Dします。Settings..]->[Build]の順に選択します。新しいフォルダー(App)を作成し、このフォルダーを選択し、保存します。この後の手順についてはこちらを参照してください。HoloLensで実行した時の様子です。Botと接続できているのが確認できます。オブジェクトを見ながらエアタップすると聞き取りが始まることが確認できました。