PostProcessingStackが効かない場合の原因【2019.3以降】

Unity2019.3以降でPostProcessingStackを使いたかったのですが、今まで通りPostProcessLayerとPostProcessVolumeを追加して、PostProcessingProfileを作成して…としても、何も変わりませんでした。

ありがちな原因として、

  • PostProcessVolumeのIsGlobalにチェックが入っていない
  • Profileを作成していない or PostProcessVolumeに作成したProfileを指定していない
  • PostProcessLayerのLayerを指定していない
  • UIの場合はCameraの設定がOverlayになってしまっている

あたりが考えられます。

ここら辺に問題があった場合もありますが、Unity2019.3以降を使っている人はもっと根本的なミスがある可能性大です。

2019.3でPostProcessingStackが変更された

URP(Universal Rendering Pipeline)やLWRP(Light Weight Rendering Pipeline)が原因かとも思ったのですが、Unity2019.3を使っていることが原因でした。
 
なんとUnity2019.3以降ではPostProcessingStackが大きく変更されていたのです。

PackageManagerからPostProcessingをインストールする必要はなくなり、

  • PostProcessLayer → Universal Additional Camera Data
  • PostProcessVolume → Volume

に置き換わりました。

そのため、これまでのPostProcessVolumeやPostProcessLayerをアタッチしても全く意味がなく、UniversalAdditionalCameraDataとVolumeを使わなければならないということです。

確かによく見るとURPのサンプルシーンにもUniversalAdditionalCameraDataとVolumeが使われていました。

コメント