【Unity】PostProcessing Stack v2をサクッとセットアップする

PostProcessing Stackを使ってみたところ、 意外とセットアップに手間取ったので簡単なセットアップの仕方をまとめてみました。

Unity2018.2
PostProcessing2.0.10

インストール

まずPackage ManagerでPostProcessingをインストールします。
Window > Package Manager > Allタブにあります。

f:id:halya_11:20180730220626p:plain

基本の使い方

まず、下記の手順でPost-process Volumeオブジェクトをセットアップします。

  1. Hierarchyで右クリック > Create > 3D Object > Post-process Volume
  2. 1で作られたGameObjectのレイヤーをPostProcessingのものにする
  3. Post Process VolumeコンポーネントのIs Grobalにチェックを入れる

f:id:halya_11:20180730235120p:plain

レイヤーは別にPostProcessingでなくてもいいですが、
Unity2018.2では最初から用意されているようなのでこれを使います。

続いてMainCameraをセットアップします。

  1. MainCameraにPost Process Layerをアタッチする
  2. Volume blendingのLayerにPostProcessingを指定する

f:id:halya_11:20180730235150p:plain

あとはPost-process Profileを作って好きなように設定するだけです。

  1. Post Process VolumeのProfileのNewボタンを押してProfileを作る
  2. Add effect... から好きなエフェクトを追加する

f:id:halya_11:20180730234916p:plain

色収差を適用してみました。

ポストエフェクトの掛かり具合を調整する

Post Process VolumeのWeightパラメータを調整すると掛かり具合が変わります。

f:id:halya_11:20180731000644g:plain

複数のポストエフェクトをブレンドする

Weightを利用するとポストエフェクトをブレンドすることもできます。
まず、一つ目と同様にPost Process Volumeをもう一つつくり、異なるProfileを適用しておきます。

f:id:halya_11:20180730235705p:plain

そしてこのPost Process VolumeのPriorityを上げて1にします。
その上でWeightパラメータを編集することでポストエフェクトをブレンドすることができます。

f:id:halya_11:20180730235921g:plain

なお実際にはGlobalなPost-process Volumeを二つ使うのは重くなるだけなので、
この通りの使い方はしないかなとは思います。

Cameraが特定範囲に入った時だけポストエフェクトを掛ける

コライダーを利用するとポストエフェクトの適用範囲を指定できます。

  1. Post Process VolumeのIs Globalを外す
  2. Post Process VolumeのGameObjectにコライダーをアタッチする

コライダーは何でもいいです。
このコライダー内にカメラが入るとポストエフェクトが掛かります。

f:id:halya_11:20180731003211g:plain

滑らかにブレンドしたい場合はBlendDistanceの値を上げます。

f:id:halya_11:20180731003405g:plain

ちなみにPriorityも適用されますが、Collider同士が大きく重なるケースがなければ特に気にしなくていいと思います。

参考

unity3d.com