「ガジェット届いたのでいじりました」的な記事です。
- Looking Glassって何
- キャラを表示する(全身/上半身/バストアップ)
- 水槽っぽいから水槽にしてみよう
- 魚が泳げばかなり水槽なのでは
- まとめ
成果物はこんな感じです。
https://twitter.com/baku_dreameater/status/1084647897273053194
1. Looking Glassって何
裸眼で3D CGを立体視できる、ガラスの箱みたいなデバイスです。
裸眼で立体CGが出るデバイスでは他に
Gatebox等もありますが、Looking Glassは仕組み的に「ただのPC外付けモニター」という構成になっており、一般開発者フレンドリーを意識しているのが特徴です。
2. キャラを表示する(全身/上半身/バストアップ)
ここからはUnityで色々いじってみた話です。
手元ではUnity 2018.3.0f2を使っています。
単なるモデル表示に関しては、手元の環境ではGetting Startedガイドを読み、サンプルシーンを真似したら無事に映りました。
私の場合、ちょうど手元にVRMで遊ぼうとしたプロジェクトがあったため、四葉メリィさんのVRMモデルを表示してみました。
まず全身を映したもの。Looking Glassは横長なので、全身を入れると顔がよく見えなくなります。
https://twitter.com/baku_dreameater/status/1084072388004728832
上半身やバストアップの表示でも見栄えはよいです。表情をがっつりいじるとか、「キャラクターと喋ってます」感を出したりするのであれば、こちらの方が良いかもと感じます。
https://twitter.com/baku_dreameater/status/1084076846663127040
3. 水槽っぽいから水槽にしてみよう
モデル表示とは別の使い道を考えたところ、「ガラスの箱っぽい見た目なんだし水槽風に出来るんじゃないか?」と思いついたので、試しました。
とりあえず水を張ったように見える状態がこちら。
https://twitter.com/baku_dreameater/status/1084430400510820352
水面はUnityの標準アセットで作れます。
- Asset Storeを開く
- Unity公式のStandard Assetsをインポート
- 水面にするPlaneを作成
- アセットの
Standard Assets/Environment/Water/Water
を開く Material/WaterProDaytime
を水面にするPlaneに適用Scripts/Water
スクリプトを水面にするPlaneにアタッチ
ただ、これだけで実行すると水面がLooking Glassに映りません。
その原因は、Looking Glassのキャプチャ処理がOrthographicであり、水平な水面を真横からキャプチャしても見えないからです。
これを解決する簡単な方法は水面を傾けることで、上のスクリーンショットでは対策として水面を15度ほど傾けています。
どうせLooking Glass自体は置いたときに少し傾くので、水面を傾けても違和感は少ないです。
これ以外の問題として、水面が真っ黒に描画されてしまうケースがあります。詳細は把握していませんが、どうも水面の反射計算で、反射先にオブジェクトが無いと黒くなってしまうようです。
こちらも対策はあって、HoloPlayCaptureからみて奥側に白いCubeなりPlaneを追加すればOKです。
あとは水槽の底面に色つきのオブジェクトを敷いて背景絵を置けば、先程も見せたように水槽っぽくなります。
https://twitter.com/baku_dreameater/status/1084430400510820352
なお、水槽の絵はいらすとやのを使っています。
4. 魚が泳げばかなり水槽なのでは
水槽なんだから魚が泳いでいるべきだろう、ということで魚を足します。
- Fish School Bundleアセットを買う
- 魚の群れのPrefabを配置
School Controller
のプロパティをいじって魚を大きく、ゆったり動かす
私がPrefabの設定をいじった箇所はこんな感じ。
- 魚の数:
Size of the school
のFish Amount
を5まで減らす - 速度:
Speed and Movement
のMin Speed
とMax Speed
を減らす - 個々の魚のサイズ:
Randomize Fish Size
を大きくする Area Size
を全て0に設定し、群れっぽさをなくすSize of the school
のWidth
とDepth
とHeight
を水槽の内側に合うよう調整
これで泳いでくれるようになります。
https://twitter.com/baku_dreameater/status/1084647897273053194
5. まとめ
Looking Glassと水の組み合わせは絵的に相性が良さそうだと分かり、満足できました。あと、わりと短手順でそれっぽくなったのでLooking GlassもUnityも凄いなあとおもいました(小並感)
Looking Glassは見てると色々思いつけそうな雰囲気のデバイスなので、公式が想定しているLeap Motionとの組み合わせとかも含め、また何か投稿するかもしれません。