LoginSignup
26
16

More than 3 years have passed since last update.

【Looking Glass】Looking Glassでもっと奥を描こう

Last updated at Posted at 2019-01-16

2020/01/19
LookingGlass購入一周年記念で作った遠景の描画方法を追加しました

Twitterで簡単に説明しましたが、やはりわかりにくいと思ったので書きました。
開発環境はUnity 2018.2.20f1+HoloPlay SDK 0.1.4 です。

はじめに

Looking Glassはどうしても背景(奥方向)の描画が苦手です。
そしてCapture.csのInspectorからビューボリュームを調整するのも結構大変です。
ならばRenderTextureで書き割りを作ってしまえ!というのが今回のネタです。

結果

まず結果です。
https://twitter.com/aodama/status/1084862221765627905

一番手前の車線の自動車だけが見る角度で変化し、それ以外はRenderTextureの画像になります。

RenderTextureを描画しないとこんな風です
190116_FakeBGなし.JPG

RenderTextureを描画すると動画のような感じになります
190116_FakeBGあり.JPG

実装

Looking Glassのビューボリューム外をRenderTextureに描画して、それをLooking Glassで表示範囲に置くだけです。
RenderTextureはQuadに貼り付けてシーンに配置しています。
190115_FakeBGタネ明かし.png

ここまではTwitterで説明したので、もうちょっと詳細に。

まずHoloPlay Captureの子にあるHoloPlay Cameraと同じ位置にRenderTexture用のカメラを作ります。この時FovはHoloPlay Cameraと同じ値に設定しましょう。

次に追加したカメラのNear ClipををRenderTextureを置く位置に設定します。手前は描画しなくていいですからね。あとこのカメラでRenderTexture自身を描画しないようにレイヤーを設定してください。

シーン上はこんな感じです。
190116_FakeBG用カメラ.png

これで動画のようなLooking Glassな3Dと背景が共存出来ます。

調整

RenderTextureを置く位置によって、Looking Glass上での見え方はかなり変わります。
190116_FakeBGの位置.png
例えば上の画像のようにRenderTextureを中央付近と奥に置いた場合、中央付近は動画のようなクッキリとした見た目になりますが、奥に置いた場合はこんな感じでかなりジャギジャギします。仕様なので仕方ありません…
190116_FakeBG奥.JPG
そのかわりRenderTextureを奥に置けばLooking Glassのビューボリュームはほぼ全部使えます。これ重要!

少しでもジャギジャギ感を軽減するなら、RenderTextureを低解像度にしてぼかしてしまうのが一番簡単です。
下の画像はRenderTextureの解像度を256x160にした場合です。
190116_FakeBG低解像度.JPG

課題

奥から手前や手前から奥のようなRenderTextureを跨いで移動するのは御法度。ズレちゃいますからね。

まとめ

結局は用途次第ですが、例えばLooking Glassでゲームを作る際に奥行きのある背景を出せるのは強みになると思います。

一周年記念アプリの遠景について

動画
https://twitter.com/aodama/status/1208755492505309186

やっていることは単純で、Curved Worldアセットで地面を曲げて、遠景(RenderTexture)のつなぎを見えないようにしています。
191222_バイク+ドリル+メイドな説明.jpg

26
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
16