#!!!注意!!! この記事は書きかけです。投稿日に間に合わず、申し訳ありません。
本エントリーはIBM Cloud Advent Calendar 2017の25日目です。
#対象者
- Unityの基本操作がなんとなくわかる人
- IBM Cloudの基本操作がなんとなくわかる人
※詳細な操作説明を割愛した箇所もございます。
#実施環境
- Window10 Home 64bit
- Unity
- Personal(無償版)
- バージョン:2017.1.2f1
※Unityを導入した2017年10月時点では、推奨バージョンが2017.1.xだったため。現在(2017年12月時点)では2017.2.x推奨だそうです。
#準備するもの
- Unity
- Personalであれば無料で使用できます。
-
2017年12月時点では、最新版は不具合が起こり得るため、過去バージョンの2017.2.x版を推奨らしいです。過去バージョンは以下よりダウンロードできます。
https://unity3d.com/jp/get-unity/download/archive?_ga=2.108028171.866438277.1514101729-615743042.1514101729
- IBM Cloudライトアカウント
- 2017年11月よりライトが登場し、無料で使えるようになりました。それ以前にアカウント作成されていたものの持て余していた方は、新たなメールアドレスで再作成されるのがおすすめです。
- ネット接続したマイク機能付きのPC
※ここではVR Ready(GTX1060以上)のノートPCを使用しましたが、VR用ヘッドセットにつなげずにPCのディスプレイ上で動きをみるだけであれば、通常のPCでも実施できると思われます。ただし、動きは悪い可能性大。
#心の準備
- IBM Cloudは、操作性においてもやっとするところがあります。私の経験上、真面目に構えすぎず、こんなもんだとゆるりと付き合うのがよいです。
- 同じ画面でも、状況により表示が異なることがある。そのようなときは*「戻る」ボタンで戻って再度その画面に入りなおす*。(「価格プラン」が現れないなど)
- 画面遷移が遅い。ときに、砂時計などの「待て」マークが現れたまま一向に進まないことがある。そのようなときは*「戻る」ボタンで戻ってあきらめる*。([管理]→[アカウント]→[リソースグループ]の部分など)
- サービスの契約を結んだ後、その場ですぐに使用しておかないと、使用中サービス一覧が表示されるはずのダッシュボードに現れない。その場合、どこからサービスに入って使えばいいのか試行錯誤することも。。
- Unity
- 現在のVR ReadyのPCを購入してからは問題ありませんが、やや古いDynabookのWindows8で操作していたときは、立ち上げやスクリプト表示など全般的に激遅でした。
#作業全体の流れ
1. Watson SDKをUnityに入れ、UnityがWatsonを使えるようにする @Unity
2. しゃべる人物や動物を仮想空間に置く @Unity
3. チャットボット(会話マシン)に必要なサービスを無料契約する @Watson
4. チャットボットを作る @Watson ←書きかけです。ごめんなさい。
#1. Watson SDKをUnityに入れ、UnityがWatsonを使えるようにする @Unity
- watson-developer-cloudのunity-sdkをダウンロード。おそらく、その時々の最新版でいいと思います。https://github.com/watson-developer-cloud/unity-sdk/releases
=====編集中につきひとりごと=====
が、
現在(2017年12月)最新版であるv2.0.0で実施したところ、メニューバーに現れるはずのボタン(Configuration Editorなどの便利ボタン)が出ないという現象が起きました。
調べたところ、v1.0.0以降では出なくなってしまったようです。
v1.0.0未満のWatson SDKを使用した記事はいくつかあり、このとおりにやった方が楽そう。。
けど、HoloLensにも対応もしているv2.0.0を使いたい…というわけで、現在対処法を確認中です。
(それもあってこの記事は未完成です。申し訳ありません)
=====================
- ダウンロードしたフォルダを[すべて展開]で解凍。フォルダ構造は、[unity-sdk-x.x.x]の下に[unity-sdk-x.x.x]が入れ子になり、その中に[.github]や[Examples]フォルダなどの各部品が入るといった二重になる。入れ子になった[unity-sdk-x.x.x](直接部品が入っている方)を"Watson"にリネーム。
- Unityを立ち上げる。新規にプロジェクト作成するため、立ち上がった画面で[Project name]を任意名にし、[Create Project]をクリック。
- Unityが開いたら、"Watson"フォルダを、Unityの[Project]ペインの中にある[Assets]フォルダを目掛けてドラッグ&ドロップ。[Assets]フォルダの下に"Watson"フォルダができる。同時に、上のメニューバーに"Watson"ボタンができる。
#2. しゃべる人物や動物を仮想空間に置く @Unity
しゃべらせたい人物や動物を、UnityのAsset Storeから落としておく。ここでは、フリーのUnity-chanを使用。
0.以降の説明でのUnityのレイアウト(見え方)は"Default"です。Unityに慣れていない方は、右上にあるボタンをクリックし、"Default"を選択しておいてください。
-
アセットストアでUnity-chanをダウンロード
上部にあるメニューバーから[Window]→[Asset Store]でアセットストアを開き、検索窓に"unity chan"を検索。その後、[FREE ONLY]ボタンをクリックしておくと、無料の素材しか現れないので安心。
-
下にスクロールするといくつかUnity-chanが出てきているが、ここでは以下をクリック。ダウンロードページに遷移するので、[Import]をクリック。
-
仮想空間での見え方(メインカメラの位置・向き)を調整する。左側の[Hierarchy]ペインの[Untitled]の下にある[Main Camera]をクリックすると、右側にある[Inspector]ペインにカメラの設定情報が現れるので、その中の上の方にある[Transform]項目内の右上にある歯車マークをクリックし、[Reset]を選択。
-
[Project]ペインにて、[UnityChan]フォルダの中の[Models]フォルダを選択。右側に[Models]フォルダの中身が現れる。
-
フォルダの中身のうち"unitychan"という人型の絵を選択し、上にある[Scene]ペインにドラッグ&ドロップ。これで、仮想空間のシーンの中に会話をしてくれる人が登場するようになる。シーンに置かれたものは全て[Hierarchy]ペインに表示されるため、[Hierarchy]ペインにも"unitychan"が追加されている。
-
"unitychan"が選択されたままの状態で、[Inspector]ペインにて、"unitychan"がカメラにうまく映り込むよう位置を修正する。
[Transform]項目- [Position]:Y=-1, Z=1に変更
- [Rotation]:Y=180に変更
-
これでUnityちゃんのいるシーンができたので、[ctrl]+[S]キーを押して任意の名前を付けてシーンを保存する。
#3. チャットボット(会話マシン)に必要なサービスを作成(無料契約)する @Watson
0.IBM Cloudのライトアカウントを取得されていない場合は、アカウントを新規作成してください。
ライトアカウント作成のわかりやすい記事を見つけました↓
https://qiita.com/KenichiSekine/items/249d2ff691b6565fb127
-
IBM cloudにログイン
https://console.bluemix.net -
初めてログインすると、以下の画面になります。(これからサービスを使用すると、この画面に作成済みのサービスが表示されるが、今は空っぽの状態。)右上の[カタログ]をクリック。
-
左端のウィンドウを下にスクロールし、[Watson]をクリック。(左側のリスト周辺にマウスをもってくるとスクロールバーが現れるという、わかりづらい仕様。。)
-
IBMの提供する機械学習(Watson)の一覧が表示される。ここでは以下3つのサービスを使用する。
・ Conversation:会話マシン(チャットボット)
・ Speech to Text:PCにしゃべりかけた音声を、テキストデータに変換(マシンに理解できる形にする)
・ Text to Speech:テキストデータを音声マイクより発声(マシンが出した返答を音にする)
それぞれのサービスのアイコンをクリックし、入った画面でサービス作成(無料の利用契約)をする。いずれのサービス契約も同じ手順だが、以降ではConversationサービスに入った画面で説明。
5.以下のような画面が開く。各項目の設定はデフォルトのままでOK。
※ライトプランでは[デプロイする地域/ロケーション]は米国南部のみとなるようなため、気にしなくて結構です。
6.下の方にスクロールすると「価格プラン」が現れる。タイミングにより「価格プラン」が現れないことがあるが、その場合は前の画面に戻りもう一度この画面に遷移すると、たいてい現れる様子。(ここがIBM Cloudのもやっとするところ。。)
「価格プラン」で"Lite"(無料)が選択されていることを確認し、[作成]ボタンをクリック。
7.以下のような画面が開けば、無事に作成完了。
※[作成]ボタンを押すと以下のポップアップが現れる場合は、すでにサービス作成済のようです。
#4. チャットボットを作る @Watson
ごめんなさい、まだ書けていません。
※すでにサービスを作成