LoginSignup
4
1

More than 3 years have passed since last update.

Unity UniversalRP 2D Renderer の機能依存性を調べる

Last updated at Posted at 2020-05-09

Unity UniversalRP の 2D Renderer はとても表現力が高く、是非使ってみたい!という気にさせます。

スクリーンショット 2020-05-09 19.23.07.png

とはいえまだExperimentalであり、今後どうなっていくかわからないところでもあります。

スクリーンショット 2020-05-09 19.30.25.png

ただ、それをもってしてもなおあまりある表現力なので、現時点(2019.3.12f)で他の機能との共存がどの程度できるのかを調べてみました。

Tilemapとの共存

これは問題ありませんでした。

スクリーンショット 2020-05-09 20.52.32.png
normal付きTilemapに
URP/2D/Sprite-Lit-Default
を使用し、法線の向き、ライトの範囲などもちゃんと反映することを確認しました。

スクリーンショット 2020-05-09 19.39.15.png

Shader Graph

Sprite Lit Graph
Sprite Unlit Graph
が用意されているので問題なく扱えます。

スクリーンショット 2020-05-10 6.14.48.png

Volume (PostProcess) デフォルトエフェクト

これも問題ありませんでした。用意されているPostProcessはそのまま使えるようです。

スクリーンショット 2020-05-09 19.44.14.png

スクリーンショット 2020-05-09 19.33.35.png

Volume (PostProcess) カスタム(追加)エフェクト

こちらで紹介されている方法でカスタムエフェクトの導入を試みたのですが、UniversalRP 2D Renderer で使用されているRender Pipeline ではカスタムエフェクトが反映されませんでした。この辺りはもう少し深く調べれば解決方法はありそうですが、今のところ不明です。

スクリーンショット 2020-05-09 19.55.24.png

Particle System

こちらも問題なく使えました。2D Lightの範囲のみ明るく表示されています。

スクリーンショット 2020-05-09 20.21.18.png

カメラのスタック(複数カメラの重ね合わせ)

UniversalRP 2D Renderer で使用されているRender Pipeline ではカメラのスタックはできないようです。

スクリーンショット 2020-05-09 20.02.03.png

2D表現カメラ(Orthographic)を使う際、雨や雪などのエフェクトのみ3Dカメラで写して立体感を出す、等を想定して試してみたのですが、そもそも重ね合わせができません。
カメラを3Dにして1つのカメラで表示する分には問題なく表示できます。

スクリーンショット 2020-05-09 20.17.18.png

3Dオブジェクト

3Dオブジェクトの表示そのものはできるのですが、2Dライトの影響を受けないので画面上で浮いてしまいます。

スクリーンショット 2020-05-09 20.40.46.png

マテリアルにあてるシェーダーを
URP/2D/Sprite-Lit-Default
にすることでライトの影響を反映することはできるのですが、モデルの表裏表示がおかしくなっています。

スクリーンショット 2020-05-09 20.43.09.png

→こちらは修正するシェーダーを用意しました

まとめ

エフェクトも含め全て2D、カメラも1つのみで行う場合は問題なく2D Rendererを使用できると思いますが、3D表現を共存させたり、やや複雑なことをやろうと思うといろいろなところで破綻が出てきます。
これらの破綻はもっと深く突き詰めていけばどれも解決可能な気もしますが、現状だと情報も少なく、なかなか難しいのではないでしょうか。

4
1
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
4
1