【Unity】Post Processing Stack v2入門!簡単にポストエフェクトを掛ける手順を総まとめ

Post Processing Stack v2を使ってポストエフェクトを掛けるまでの手順をわかりやすくまとめます。

Unity2018.2
PostProcessing2.0.10

はじめに

まずはじめに、Unityにおけるポストエフェクトの掛け方は二通りの方法があります。
Post Processing Stackという公式アセットを使う方法と、使わない方法です。
本記事ではPost Processing Stackを使ってポストエフェクトを実装する方法を紹介します。

二つの方法の違いについては以下の記事で紹介していますので、必要に応じて参照してください。

light11.hatenadiary.com

またこの記事ではPost Processing Stackの基本的な使い方のみ説明します。
各エフェクトの説明は下記の記事で行っていますので、必要に応じて参照してください。

light11.hatenadiary.com

インストール

まず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同士が大きく重なるケースがなければ特に気にしなくていいと思います。

関連

light11.hatenadiary.com

light11.hatenadiary.com

参考

unity3d.com