URPと普通の3Dテンプレートから作ったプロジェクト(以下、非URPと書きます)で、
ポストエフェクトの適応方法が違うのでまとめました。
この記事を書いたときの環境
・Unity 2019.4.23f1 (Windows)
URPか確認する方法
Settingフォルダに設定ファイルがある
URPのテンプレートからプロジェクトを作成したのに誤って上記ファイルを消してしまった場合は、
URPになっていないので注意!
カメラの設定項目が異なる
▼URP
▼非URP
非URP
光るオブジェクトを用意
ここではStanderd シェーダーを使ってEmission をOn にしたオブジェクトを用意しました。
適応方法
・(画面上部メニューの)Window -> PackageManager より ポストプロセスをインストールする
・カメラに ‘Post-process Layer‘ を適応
・HDR を有効にする
(画面上部メニューの)Edit -> ProjectSettings -> Graphics -> 開発しているPratfomの `Use HDR` にチェックをいれる
android等は、Use Defaults にチェックが入っているので外してから行う
「Standaloneだと適応されるのに、androidやIOSにすると適応されない!」という場合はコレが原因かも。
・‘Post-process Layer‘ の Layer に、ポストプロセスを適応するレイヤーを設定する
・(ヒエラルキーで右クリック) -> 3D Object -> Post-process Volume
からPost-process Volume
のゲームオブジェクトを作成
→Profile の New を押し、Bloom等のポストエフェクトの設定を追加する
→この設定ファイルは、Scenes/シーン名_Profiles
に配下に作られます
→カメラがどの位置にいてもこのポストエフェクトを適応したい場合はIsGrobalをチェックする
→カメラがコライダーの範囲内にいた時のみポストエフェクトを適応したい場合はIsGrobalを外す。
→Layerを先程、‘Post-process Layer‘ の Layerに設定したレイヤーにする必要がある
URP
光るオブジェクトを用意
ここでは、URPのLit シェーダーを使ってエミッションを設定しています。
適応方法
・カメラのPost Processing をチェック
・(ヒエラルキーで右クリック) -> Volume-> 任意のVolume を選び、Volume
がアタッチされたゲームオブジェクトを作成
→Profile の New を押し、Bloom等のポストエフェクトの設定を追加する
→この設定ファイルは、Scenes/シーン名
に配下に作られます
違いまとめ
・URPの場合は、PackageManagerからポストプロセスをインストールする必要はない
・URPの場合、レイヤーを設定することができない(しなくても負荷的に問題ない?)
・プロファイルの作り方は同じ
・URPで、Post-process Volume
や Post-process Layer
を使っても正常に動作しないので注意!