はじめに
UnityでPost Processing Stackを使うと絵がめちゃくちゃかっこよくなるので使いまくってました。V2が出たときにさらに使いやすくなったので喜んだものの、それまでV1で作ったプロジェクトを再利用したい場合などに互換性がなくていろいろ苦労したのでメモ。
v1とv2の違い
ライブラリインストール手順
v1 | v2 | |
---|---|---|
ドキュメント1 | https://docs.unity3d.com/ja/current/Manual/PostProcessing-Stack.html | https://github.com/Unity-Technologies/PostProcessing/wiki |
インストール方法2 | Asset StoreからPost Processing Stackを検索してインストール | Windowメニュー → Package Manager → Post Processing |
インストール先 | Assets/PostProcessing | Packages/Post Processing |
シーンへの導入手順
v1 | v2 | |
---|---|---|
1. プロファイル作成3 | Assetsメニュー → Create → Post-Processing Profile | Assetsメニュー → Create → Post-Processing Profile |
2. メインカメラ設定 | ・Post Processing Behaviour追加 ・1.で作成したプロファイルを指定 |
・Post Processing Layer追加 ・Post Processing LayerのLayerでPostProcessingを選択 |
3. オブジェクト設定 | (不要) | ・シーンに空のオブジェクトを配置 ・オブジェクトのLayerをPostProcessingにする ・オブジェクトにPost Process Volume追加 ・Is Globalにチェックを入れる ・1.で作成したプロファイルを指定 |
4. パラメータ設定 | プロファイルを選択して設定 | ・プロファイルを選択して設定 ・3.で追加したオブジェクトを選択しても同じものが表示される ・AntialiasingはメインカメラのPost Processing Layerで設定 |
どっちを使うべきか
v2一択。
上に書いたdocs.unity3d.comのドキュメントが2019/5/4現在 v1ベースなのでv1を使いたくなりますが、Asset Storeのv1のページには、「Deprecated for new projects; please use V2 instead.」とあるので、特に理由がない限りv2を使うべき。
v1とv2は共存可能か?4
- 同じプロジェクトに両方のライブラリをインストールして、シーンごとにv1かv2か使い分けてもほぼ問題なし
- ただし、Assetsメニュー → Create → Post-Processing Profile としてプロファイルを新規作成しようとすると同じ名前のメニューが二つ出てわかりづらい
- 以前、同じシーンにv1とv2を入れちゃったとき、わりとそれっぽく動いたけどキモいのでおすすめしない
v1導入済みプロジェクトをv2に置き換える手順
そもそも最新のUnityでv1がビルドできなくなったんだけど?
Assets/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs(6,34): error CS0104: 'MinAttribute' is an ambiguous reference between 'UnityEngine.MinAttribute' and 'UnityEngine.PostProcessing.MinAttribute'
のエラーが出る場合、MinDrawer.csを開いてMinAttributeとなっているところ(3か所)をUnityEngine.PostProcessing.MinAttributeと書き換えて保存すればOK。
参考:https://forum.unity.com/threads/post-processing-stack-error.554926/
移行手順
- (事前準備)とりあえずプロジェクトごとバックアップしておく
- v1のプロファイルを選択してスクリーンショットをとっておく。実行画面もスクショをとっておく
- メインカメラのPost Processing Behaviourを削除
- Assets/PostProcessingフォルダ削除
- Windowメニュー → Package Manager → Post Processingでv2をインストール
- Assetsメニュー → Create → Post-Processing Profileでv2のプロファイル作成5
- メインカメラにPost Processing Layerを追加
- Post Processing LayerのLayerでPostProcessingを選択
- シーンに空のオブジェクトを追加
- 空のオブジェクトのLayerでPostProcessingを選択
- 空のオブジェクトにPost Process Volumeを追加
- Post Process VolumeのIs Globalにチェックを入れる
- Post Process VolumeのProfileでv2のプロファイルを選択
- Post Process Volumeで「Add effect」を押してv1で使用していたエフェクトを追加、v1のスクショを見ながらパラメータ調整6
- v1でAntialiasingを使用していた場合、メインカメラのPost Processing Layerで設定する