[レポート] Create a Virtual Concierge Using Sumerian Hosts #reinvent #ARV201

2018.11.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Sumerianで仮想コンシェルジュを作る!?「Create a Virtual Concierge Using Sumerian Hosts」の参加レポートです。

セッション概要

In this talk, we review the challenges of adding a virtual character to AR/VR applications and highlight how Amazon Sumerian solves these challenges. We discuss leading use cases and demonstrate how customers are creating dynamic, interactive virtual concierges using Sumerian hosts integrated with various AWS technologies, such as Amazon Polly, Amazon Lex, Amazon Rekognition, and AWS Lambda.

セッション内容

以下の環境を作成するデモがメインとなるセッションでした。

  1. ホストに特定の音声を発生させる
  2. ホストとLexを使ってコンシェルジュを作成する

本記事ではデモがどのようなものであったか簡単に説明します。

Sumerianとは

デモ内容を説明する前にSumerianとは何かについて簡単に振り返りましょう。

Amazon Sumerian を使用すると、特別なプログラミングや 3D グラフィックスの専門知識がなくても、バーチャルリアリティ (VR)、拡張現実 (AR)、および 3D アプリケーションをすばやく簡単に作成し、実行できます。Sumerian を使用すると、実体験のように感じるインタラクティブなシーンを構築し、一般的なハードウェア (Oculus Go、Oculus Rift、HTC Vive、HTC Vive Pro、Google Daydream、Lenovo Mirage、Android や iOS モバイルデバイス) で実行できます。例えば、世界各地にいる新しい従業員のトレーニング用に仮想クラスルームを構築することや、離れた場所にある建物内を案内する仮想環境を構築することができます。Sumerian によって、オブジェクト (人物、家具、風景など) の追加や、環境の設計、アニメーション化、スクリプト作成などを行うことができ、実体験のように感じるインタラクティブな 3D コンテンツの構築に必要な構成要素すべてを簡単に作成できます。Sumerian に高度な専門知識は必要ありません。シーンはブラウザで直接設計できます。

一言で言うと、SumerianはVR/ARを簡単に構築できるサービスになります。このセッションではSumerianを用いてVR環境(仮想コンシェルジュ含む)を構築しました。

ホストに特定の音声を発生させる

ホストをデプロイする

まずはデモ用のシーンを作成しアセットをインストールします。 アセットには背景や人物などAWSが提供する様々なものが存在します。今回はMayaというホストをインポートします。

ホストにステートマシンを追加する

ステートマシンコンポーネントを追加します。ステートマシンには2つの状態を作成し、それぞれ以下のアクションを追加します。

  • ステートマシン1:Mouse Down / Touch Start
  • ステートマシン2:Start Speech

ステートマシン2には任意の音声を指定します。デモではmy name is mayaのような文字列を指定しPollyによるText to Speechを行なっているようでした。

ステートマシンを関連付ける

「任意のボタンが押下されてからから発話させる。発話が終了したら待機状態に戻る。」を実現するためステートマシンの関連付けを行います。

Sumerianを再生する

Viewerの再生ボタンをクリックします。Ready状態になったらステートマシン1からステートマシン2がキックされるよう任意のボタンを押下します。 デモでは登録した音声が正確に発話されていました。

ホストとLexを使ってコンシェルジュを作成する

※一部の処理(LEXの処理など)については出来合いのものを利用していたためその部分についての説明は割愛します。

CognitoID プールを設定する

AWSの機能と結合させるためSumerianに必要な権限を持ったCognitoIDプールを指定します。(Unauth_Roleに必要な権限を付与します)

オブジェクトを配置する

シーンを作成し任意のオブジェクトを追加します。

ステートマシンを追加する

ステートマシンコンポーネントを追加します。ステートの先頭ではAWS SDKをインポートし、その後LEXを起動するようなステートを構築します。

ステートマシンを関連付ける

任意のボタンが押下されてからからLEXが起動し、連続した会話を実現するためループを伴うステートを構築します。

Sumerianを再生する

作成したデモ環境では正しく起動しませんでしたが、スピーカーの方が用意していた予備のシーンからテストを実施しSumerian、LEX、Pollyによって会話が実現できていることが確認できました。

まとめ

Sumerianによる仮想コンシェルジュは近未来感もありとても魅力的でした。将来に会社や病院の受付などでSumerianによる仮想コンシェルジュを見る日も近いかもしれません。