最近、VR(と言っていいのでしょうか?)界隈はいろいろと盛り上がりを見せているようです。
私も Oculus Rift で何か作りたいなーとずっと思っていました。
ただ、まだまだ小さな子供がやるには重く、また数をそろえられないので幼稚園や保育園に持ち込むのも難しいです。
というわけで、没入感はさほどではありませんが、お手軽に利用できる Google Cardboard 対応アプリを作ってみたいと思います。
カメラ
これが全てと言っても過言ではありません。
VR用のUnity Pluginを使用します。
https://www.durovis.com/sdk.html
ダウンロードしたUnityPluginをImportします。
対象物を置く
小さい子供向けに作りますので、ふだん見ることのできないものにしたいと思い、AssetStoreで無料で手に入るくじらを選びました。
こちらも適当な位置に配置します。(ついでにライトも配置します。)
実行してみる
この状態でもう利用することができます。
目の前にいるくじらを見ることができるアプリができあがります。
くじらを移動させる
せっかくなので、くじらには泳いでもらおうと思います。
周回移動をさせたいだけですので、お手軽にiTween Visual Editorを使用します。
Node Count を 10 に設定し、適当な位置に配置します。
今回は周回するpathなので、始点と終点を(0, 0, 0) にしました。
最後にiTween Eventを追加し、くじらをpathに沿って移動させます。
looptypeをloopとし、orienttopathをtrueにします。
カメラも移動させる
ずっと同じ角度からしか見えないとさすがに飽きてしまうのでカメラも移動させます。
ただ、カメラを移動させると酔ってしまう人が多いので、子供向けにこのあたりはより安全な設定にしておきます。
自分が移動しているとわからない(くじらの方が移動していると思える)くらいの遅さで移動させます。
このとき、looptype=Ping Pongとし、カメラはpathを往復移動するようにします。
SkyDomeの追加
この時点ですとまだ海中にいるようには思えず、水槽のようなところで見ているように思えてしまいます。
そこで、デザイナーの人に内向きの球体を作ってもらい、その中のカメラとくじらをいれます。
そして、その球体に海中のように見えるテクスチャ(上が青で、下にいくほど黒になる単なるグラデーション画像)を設定します。
Fogを設定する
水中ですのでFogを強めに設定して、くじらが離れたときは見えにくくしたいと思います。
完成
少し長くなってしまいましたが、これで一通りの動作は完成です。
実践
タイミングよく、先週のブログで紹介した「こどもまんなかハッカソン」という試みに
あの、なかしまさんが参加していたので、このアプリを渡して実際に幼稚園で子供たちに見てもらいました。
Google様に、まとまった数のCardboardをご提供いただきました!
子供たちに大好評だったようです。
まとめ
作ったものを実際に子供たちに見てもらって反応を感じられるのはとても楽しく、やりがいを感じられます。
VRだけでなくIoTを利用したオリジナルのデバイス作成なども盛んになってきており、実際に試しやすい環境が整ってきています。
それらの新しいテクノロジーを使った体験を子供たちに届けていけるように、これからも日々勉強を続けていこうと改めて思いました。
スマートエデュケーションではこのような想いを共有できるアプリエンジニアの方を募集しています。
ご興味のある方は、こちらから応募ください。