本日はトラブルシューティング枠です。
URP(UniversalRenderPipeline)を使用したプロジェクトでは[Bloom]のポストプロセッシングを使用することによって発光のマテリアルのグロー効果を実装することができます。
今回は一部環境でこのBloomが使用できないことが分かったので原因は不明ですが備忘録として残します。
〇Bloomとは?
[Bloom]は輝きを意味する言葉でUnityのポストプロセッシングでは発光現象を用いることができます。
Unityの描画では、Shaderで提供される機能に基づきマテリアルのパラメータを操作することで描画が行われます。
このマテリアルでEmittionもしくはそれに準する機能が提供されている場合Unityでは発光として扱うことができます。
具体的にはShader内でRGBAの値が1以上になる場合Emittionとして扱われます。(一般的にRGBは0~255で表されますが、Shaderでは0~1で表されます。)
Bloomを使用しない場合の発光表現は次のようになります。
目のマテリアルに発光を使用していますが、光っているようにはあまり見えません。
ここで使用されるものがBloomです。
Bloomのポストプロセスを使用することでグロー効果を表現することができ空間に光がにじみ出るような表現が行えます。
〇Unity2019.4(LTS)で動かない問題
Unity2019.4.18f1でBloomを使用した場合、Unityエディタ上では発光を確認することができるものの実機でBloomが現れない問題がありました。
Unityのバージョンを2020.3.13f1にアップグレードすることで実機でも確認することができるようになりました。
これはURPがUnityのバージョンに依存しているという問題が影響していると考えられます。
もしBloomを実機で見たい方はUnity2020.3を使用されることをお勧めします。