ページ

2014年8月11日月曜日

VRで女の子に歯磨きするまでにやったこと

※この記事はUnityアセット真夏のアドベントカレンダー2014参加記事です

----------

長い人生の中で、誰しもが一度は

可愛い女の子に歯磨きしたい


という思いに駆られるんじゃないでしょうか

----------

ただ、リアルでそれを実現するのはなかなか難しいですよね……このご時世、下手なことしたら捕まっちゃいます。

でも安心してください!我々にはVRがあります!先日、触覚ハッカソン2014で、私たちのチーム『VRで女の子に歯磨きしたい』が皆さんの夢を叶えてきました。




頭 が ど う か し て ま す ね。本当にありがとうございます。

--

今回のデモ、VR歯磨きでは、以下のような機能を実装しました

  • ヘッドマウントディスプレイを被ると、目の前に女の子が座っています
  • VR空間の中の歯ブラシが手に持った歯ブラシと連動して動きます
  • 歯ブラシを差し出すとそれを女の子が咥えます
  • 歯磨きの擬似触覚が手に伝わります
  • 出し入れすると白い歯磨き粉が出てきます

※言葉で表現するとより猟奇的ですね… 最後の白い歯磨き粉は本当に必要だったのか…

擬似触覚を実現するにあたり、触覚ハッカソンではKMDの南澤先生からTECTILE toolkitという触覚デバイスをお借りしました。入力歯ブラシからサンプリングした振動を、体験者の持つ出力歯ブラシに伝えることで、体験者はあたかも実際に歯を磨いているかのような振動を感じることができます。




※TECHTILE toolkitは一般販売もされていますし、作り方がオープンソースで公開されているのでDIYすることも可能です!詳しくは別エントリにまとめましたので、こちらの記事をどうぞ

--

デモの全体構成はこのような感じになってます。



※Creative Gesture Cameraはデプスカメラとなっていて、物体までの距離を計測することができますが、今回は距離画像は利用せずにただのWebカメラとして利用しています。

私が主に開発したのは歯ブラシコントローラの部分です。ProcessingからUDPで送られてくる複数のマーカー位置を座標変換し、すべてのマーカーから計算した位置をごっちゃにして指数移動平均で平滑化しています。




※マルチマーカーで真面目にやるなら、凹みさんのフィルタ関数などをかけたほうがいいとは思いますが、時定数を大きく取れば問題なさそうなので上の方法で簡単に済ませています

--

VR歯磨きでは、主に2つのUnity Assetを利用させていただいきました。

Unityちゃん

みんな大好きUnityちゃんです。Unity Asset Storeからダウンロードすることができます。モーション、表情モーフ、声と、非常に多くのアセットが付属しています。version 1.0から1.1に上がったタイミングで、ポーズが19種類、ボイスが343種類()追加されています。初期バージョンしかDLしたことのない方は、ぜひDLしてみてください。

VR歯磨きではポーズ19の体育座りを利用しています。また、歯ブラシが近づくとangry2モーションで口を開き、歯ブラシを口に入れるとsapモーションで口をすぼめるようにしています。本当にいろんなポーズとモーションが含まれており、どれを利用するかについてはチーム内でも議論の対象になりました。

※ボイスに関してはチーム内でも議論になったのですが、あまりマニアックな声を設定しても一般受けしなくなってしまいそうなので、当り障りのないところに落ち着きました

Oculus Unity Integration 

Oculus Rift向けの画像変換や、アセットです。Oculus VR社のページからダウンロードすることができます。樽型に歪ませる処理にImageEffectが使用されており、Unity Proでないと実行することができないので注意です。

最近DK2の出荷に合わせて、version 0.0.4が出ました。Oculus Rift DK2はまだ購入していないのですが、是非とも機を見て購入したいですね。

--

NyAR Toolkit for Unity 3D

また、ハッカソンでは使わなかったのですが、NyAR ToolkitにはUnity用のパッケージも存在します。ハッカソンが終わったあと、このパッケージを用いてUnity上でARキューブを認識して歯ブラシを動かすところまで行うスクリプトを作ってみました!




サンプルプロジェクトを用意しましたので使ってみてください。このスクリプトを使って、自由な発想で歯に限らず色んなものを磨いて頂けたらと思います。

--

2日間という短い時間の中でプロトタイプを作るにあたって、Unityの表現力には本当に助けられました。ただ、モデルやエフェクトにこだわるあまり、デモにゲームとしての面白さがかけてしまっていたのが反省点です。今後はゲーム性も加えたデモ作りを目指していきたいですね。

さて、本日のアドベントカレンダーは楽しんでいただけたでしょうか?アドベントレンダーに不慣れな上、さらにUnityアセットアドベントカレンダーと言いながらアセットあんまり関係ない記事で肩身が狭いです…

明日はK_U_さまより、「FXMakerことはじめ」です!
よろしくおねがいします!

>> Unityアセット真夏のアドベントカレンダー2014へ戻る

--

[追記] 20140813

触覚ハッカソン2014での様子が日経テクノロジーオンラインさんで記事になりました

0 件のコメント:

コメントを投稿