以下の内容はhttps://marumaro7.hatenablog.com/entry/urp_postprocessより取得しました。


【Unity】URPプロジェクトにおけるポストプロセス設定に必要な事前知識

要件

Unity 6000.0.33f1

はじめに

URP(Universal Render Pipeline)プロジェクトにおける
ポストプロセス設定に必要な事前知識メモです。

本記事はポストプロセスの各種効果を説明する記事ではありません。
予めご了承ください。


最初に下記の動画を見ていただいた方が全容はつかめるかと思います。
(タイトルにHDRPと書いてありますが、URPでも同じ考え方ができます。)

ポストプロセスだけじゃない!HDRP Volume Framework - HDRP Tips #1

youtu.be


事前知識3つ

事前知識としておさえておきたいのは次の3点です。
・カメラのポストプロセスを有効にする必要がある
・今までのポストプロセスコンポーネントは使わない
・ポストプロセス設定は大きく分けて3層構造

カメラのポストプロセスを有効にする必要がある

エフェクトを設定してゲームビューにエフェクトを反映するには、
Cameraオブジェクトのインスペクターにて
レンダリング>ポストプロセスの項目をオンにする必要があります。

この設定はデフォルトでオフになっているため、
複数のカメラを使用する場合は忘れずにオンにしましょう。

今までのポストプロセスコンポーネントは使わない

URPプロジェクトでは、今までのビルトインパイプラインで使用していた
ポストプロセスのコンポーネントは使用しません。

使わなくなったコンポーネント
・「Post-process Layer」コンポーネント
・「Post-process Volume」コンポーネント

これらのコンポーネントはURPプロジェクトで使用することは可能ですが
ビルトインパイプラインからの移行用に残っているという位置付けのようです。
そのため、積極的に使うことはしない方が良さそうです。

ポストプロセス設定は大きく分けて3層構造

ポストプロセス設定は優先順位が大きく分けて次の3段階になっています。
1.プロジェクト全体に適用するポストプロセス
2.シーン全体に適用するポストプロセス
3.シーン内の一部に限定して適用するポストプロセス

1.プロジェクト全体に適用するポストプロセス

プロジェクト全体に適用される設定ファイルは次の場所にあります。
編集>プロジェクト設定>グラフィックス>Default Render Pipeline

このファイルをクリックすると、
プロジェクト全体のポストプロセスについての設定が項目が現れます。

2.シーン全体に適用するポストプロセス

シーン内でのポストプロセスは、
シーン全体および部分的に適用する場合の両方で
Volumeコンポーネントを使用します。

シーン全体に適用するポストプロセスを設定する場合、
プリセットのオブジェクトが存在するためそれを呼び出すと良いでしょう。

ヒエラルキーの「+」ボタンから
ボリューム→グローバルボリュームでオブジェクトを追加します。

こうすることでVolumeコンポーネント付きのオブジェクトが追加されます。

モード設定を見てみると「Global」設定になっているはずです。
「Global」になっていることでシーン全体のカメラに設定内容が反映されるようになります。


ポストプロセス設定方法としては、「New」ボタンを押し、
設定内容を保存するファイルを新規作成します。


設定内容を保存するファイルが新規作成されたら
「オーバーライドを追加」より好きな設定を追加します。
URPプロジェクトでは大項目として、「Lighting」と「Post-processing」の2項目になっています。


「Post-processing」>「Bloom」を選択すると
以下のようにブルームを設定する項目が追加されます。

このように好みの設定を追加していく内容となります。


3.シーン内の一部に限定して適用するポストプロセス

シーン内の一部に適用するポストプロセスはVolumeコンポーネント
モード設定を「Local」に設定します。

メインカメラとは別のサブカメラを用意し、
サブカメラで映すときは専用のポストプロセスを使う場合で設定してみます。

事例

サブのカメラを作成し、ポストプロセスにチェックを入れます。


Volumeコンポーネントを追加し、モードを「Local」に変更します。


モードが「Local」の場合は、コライダーが必要と怒られるのでコライダーを追加します。
今回はBoxColliderを追加しました。


あとは優先度を1以上にして設定したいポストプロセスを追加すれば完了です。

注意点

注意ポイントは2点です。
・ポストプロセス効果の上書き
・優先順位

注意点1 ポストプロセス効果の上書き

ポストプロセス設定には優先順位が大きく分けて3つあると言いましたが、
上書き設定されていない項目は優先順位が低い設定が引き継がれます。

そのため、明確に消したい効果がある場合は設定値にチェックを入れて
デフォルトの値を入れておくなど設定が必要です。

注意点2 表示優先順位

Volumeコンポーネントのモード設定「Global」と「Local」では優先度が
それぞれ別で管理されそうな感じがありますがモード設定に関わらず共通で判定されます。

例えば、「Global」設定のVolumeコンポーネントの優先度が10で
「Local」設定のVolumeコンポーネントの優先度が5の時、
「Local」設定の範囲内にカメラがあろうとも「Global」設定の内容が反映されます。

そのため、「Global」設定のVolumeコンポーネントの優先度は0固定で
「Local」設定のVolumeコンポーネントの優先度は1以上にしておく必要がありそうです。

おわりに

まだURPプロジェクトでポストプロセス使い込んでいませんが、
今までよりも管理がやりやすくなりそうですね〜。


marumaro7.hatenablog.com

参考

docs.unity3d.com


本筋とは逸れますが、全体設定の項目にある
「ライティング」、「影」の設定は下記の動画が参考になります。

www.youtube.com




以上の内容はhttps://marumaro7.hatenablog.com/entry/urp_postprocessより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14