見出し画像

【Unity】URP:Post Processingのセットアップ方法

URP(Universal Render Pipline)で、Post Processingのセットアップ方法のメモ。2つやり方を記載しておく。
・Main CameraにPost Prosessingを設定する方法
・カメラ単位にPost Prosessingを設定する方法

今回は、以前「【Unity】Universal RPのセットアップ方法」でメモしたPost Processingの設定方法より詳しく記載。

<Unity 2021.3.16f1 LTS> 

■方法1)Main CameraにPost Prosessingを設定する方法

ゲームオブジェクト>ボリューム>グローバルボリューム を作成。
(ヒエラルキーウィンドウで、+ボタンをクリック、または、マウス右クリックメニューで、グローバルボリュームを追加してもOK)

ゲームオブジェクト>ボリューム>グローバルボリューム

ヒエラルキーウィンドウにGlobal Volume が作成される。
Global Volumeを選択してインスペクターを開く。
Volume>プロファイル>新規 でプロファイルを新規作成する。

インスペクター>Volume

これで、インスペクター>Volumeに「オーバーライドを追加」ボタン が表示され、追加作成できるようになった。
また、適用できるPost Processingは、複数追加できる。

インスペクター>オーバーライドを追加
適用できるPost Processing一覧

マウス右クリックメニューで、Post Processing項目の並び順を変更することも可能。

上に移動、下に移動

あとは、追加したPost Prosessing項目について、それぞれ設定していく。下図は、試しにブルームとビネットを適用した状態

適用したPost Processing効果を確認

◇Post Prosessingの効果をMainCameraに適用

このままでは、シーンのプレビューには、効果が表示されるが、ゲームプレビューでは表示されないので、下記設定して対応する。

ヒエラルキーで、Maine Cameraを選択して、インスペクターを開き、レンダリング>ポストプロセス を有効にする。

Main Camera>インスペクター
適用したPost Processing効果を確認

これで作業終了。

■方法2)カメラ単位にPost Prosessingを設定する

複数のカメラがあり、それぞれカメラ単位にPost Prosessingを設定する方法について。

上記で説明したヒエラルキー>グローバルボリューム(ゲームオブジェクト)を作成せず、Main Cameraに追加したVolumeコンポーネントで設定していく。

まず、ヒエラルキーでMine Cameraを選択して、インスペクターを表示。レンダリング>ポストプロセス を有効にする。

Main Camera>インスペクター

そして、コンポーネント追加ボタンをクリックして、Volumeを追加。(コンポーネント追加>Miscellaneous>Volume)

コンポーネントを追加>Volume (※検索)

Volume>プロファイル>新規 でプロファイルを新規作成する。
これで、インスペクター>Volumeに「オーバーライドを追加」ボタン が表示され、追加作成できるようになった。

あとは、追加したPost Processing項目について、それぞれ設定していく。下図は、ブルームとビネットを適用した状態。

適用したPost Processing効果を確認

これで作業終了。

■Tips

◇プロファイルについて

方法1)で作成したプロファイルも再利用できる。
ヒエラルキーのグローバルボリュームを削除しても。そこの手順で作成したプロファイルは残るため。

このあたりのワークフローに手慣れてきたら、直接プロファイルを新規作成した後、設定しても良いかも。

アセット>作成>ボリュームプロファイル
New Volume Profile.asset
New Volume Profileのインスペクター

◇複数カメラの設定について

カメラのインスペクター>レンダリング>優先度 の設定値により、優先度を一番高く設定したカメラだけ、ゲームウィンドウに表示される。
(値が大きいほど優先度が高い。低← 0 , 1 , 2 , 3 … →高)

カメラのインスペクター

◇優先度の低いカメラを表示する

・優先度の高いカメラを一時的に無効にする
無効にするには、インスペクターのタイトル左チェックボックスをクリックしてチェックを外す。
複数カメラを一度に無効に設定したい場合は、複数のカメラを選択後、マウス右クリックメニューで、アクティブ状態を切り替える を選択実行。または、複数選択してからチェックボックスをクリックする。

インスペクター
ヒエラルキーで、オブジェクトを選択し右クリックメニュー

・それぞれのカメラで、ターゲットディスプレイを設定する
カメラ>インスペクター>出力>ターゲットディスプレイ を設定。
設定した後、ゲームウィンドウのDisplayのポップアップメニューでカメラ切り替えて表示する。

インスペクター>出力>ターゲットディスプレイ
ゲームウィンドウで、ターゲットディスプレイ切り替え

■おまけ:設定した領域内外で、Post Scripting効果の有効・無効

Global Volumeで、領域を設定し、Post Scripting効果を有効、無効を切り替えられる。
・カメラの位置が領域内だとPost Scripting効果:有効
・ガメラの位置が領域外だとPost Scripting効果:無効

Post Scripting効果の有効・無効

<設定方法>
ヒエラルキーで、Main Cameraを選択してインスペクターを開く。
・ボリュームマスクをPost Prosseingに設定。

Main Cameraのインスペクター

ヒエラルキーで、Global Volumeを選択して、インスペクターを開く。

・Global Volumeのインスペクターで、レイヤーをPost Prosseingに
 設定する。(Post Prosseingレイヤーを追加)
・コンポーネントを追加>Box Collider
 ・Volume>モード>ローカル
 ・Box Collider>トリガーにする を有効
 ・Volume>プロファイル を設定
 ・サイズをX,Y,Z値に5を入力。(※任意サイズ)

Global Volumeのインスペクター

ちなみに
シーンウィンドウの方にもPost Prosseingが適用したい場合は、Maine Cameraのインスペクターで、環境>ボリュームトリガー>Main Camera に設定する。

Post Prosseing効果の有効・無効
インスペクター>環境>Main Camera


■関連記事

以上。

この記事が気に入ったらサポートをしてみませんか?