Universal RPでブルームを炊こうとしたらうまく動かなかった話（解決済み）

今使っているプロジェクト（Unity 2021.1.12f1）ではUniversal RP（11.0.0）を使っているのだが、ブルームを炊こうとしたら上手く動かなかった&Skyboxが正しく表示されていないことに気がついた。

本記事の要点（と補足）は以下の通り。

- Universal RPで何か上手く動作しない時は――
    - Universal Render Pipeline AssetとForward Renderer Data（またはRenderer 2D Data）を作成しなおす、または設定を見直す。
        - ポストプロセスが動作しない場合Forward Renderer Data → Post-processing → Enabledを確認する。
    - Project Settings → Graphics → Scriptable Render Pipeline Settingsが設定されているか確認する。
    - Cameraコンポーネントのパラメータを見直す。Rendering → Renderer・Post Processing、Environmentを確認する。
    - Global Volumeを作成しなおす。
    - **2DレンダラーではSkyboxはサポートされない**。
        - [How to make the skybox work while using 2D renderer? - Unity Forum](https://forum.unity.com/threads/how-to-make-the-skybox-work-while-using-2d-renderer.779675/)
    - Built-in RPとUniversal RPとではポストプロセスの設定方法が異なる。つまり、Built-in RP用のポストプロセスの設定を行ってもUniversal RP環境では反映されないし、逆もまた同様。
    - Universal RPでポストプロセスを使用する場合、Post Processingパッケージは（必ずしも？）必要ない。

HDRPはわかんにゃい。

以下状況再現。

# Unity 2021.13f1 without Universal RPでブルームを炊く

3Dで新規プロジェクトを作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/1c6d078a-afc6-1c55-addd-d971a39cc8d8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/6ca68c41-c988-f6ad-ecc3-ec5af0edf704.png)

**以降はBuilt-in Render Pipeline向けの設定である。Universal RPを使用する場合、次項まで進むこと**。

Package ManagerからPost Processingをインストール。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/6f1e0fe8-98c2-78dd-788b-6cd7cc6b3b1e.png)

Main CameraにPost-process Layerを追加。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/5f5d0a4a-985a-f775-f373-7aadc818c476.png)

Post-process LayerのVolume LayerをPostprocessingに変更。レイヤーが無ければ追加する。レイヤー名、インデックスは任意。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/563d5ddd-a657-0080-504e-fc470c15da95.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/c4e18832-d163-f7af-3377-f0bab02d7dab.png)

シーンにPost-process Volumeを追加。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/97be8ebe-5e4c-96b0-c917-469b508d68f2.png)

Post-process VolumeのLayerをPostprocessingに変更。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/2b76006b-9a42-635c-a088-7dedc00efbf5.png)

Is Globalを有効化。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/84fd08c3-0860-830f-a623-0ee0deb4fbe0.png)

Newボタンを押しProfileを新規作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/149278f2-8681-ce03-2843-93e36ed7ba15.png)

Add effect...からBloomを追加。下図ではBloom追加済み。Intensityを5、Thresholdを0.5に設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/583232b6-3e58-02d7-acd1-cf6d5a9416d3.png)

完成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/2abd2dfc-e39e-c6b3-b452-98bc1412023f.png)

# Unity 2021.1.13f1でUniversal RP 11.0.0を導入する

先程のプロジェクトにUniversal RPを導入する。

Package ManagerからUniversal RPをインストールする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/2ef44704-683d-95f3-f133-13a0b8230c2d.png)

Create → Rendering → Universal Render Pipeline → Pipeline Asset (Forward Renderer) からPipeline Assetを作成。**メニューが見当たらない場合エディタを再起動**すると直る場合がある。他にもいくつかプリセットが用意されているがとりあえず使わない（私が違いを知らない）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/ea26a2a0-30b7-e5a3-cdf9-d99a87513dd1.png)

Project Settings → Graphics → Scriptable Render Pipeline Settings から先程作成したPipeline Assetをセットする。**ここでポストプロセスが効かなくなる**。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/1f258dfd-b8eb-2b02-606b-bb726f8d55b5.png)

# Unity 2021.1.13f1 with Universal RP 11.0.0でブルームを炊く

レンダラーを選択し、Post-processingを有効化する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/83fd82b2-1c33-45dc-321c-5ea2dd2b041a.png)

Main Cameraを選択しCamera → Rendering → Post Processingを有効化。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/de4e1839-a315-46f6-f4f6-1afcc21f3de8.png)

ヒエラルキーにGlobal Volumeを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/f8f76fba-816f-5985-9be8-6268a74b71aa.png)

VolumeのProfileを新規作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/39ba32f6-1a20-d185-13f0-3f65b2f03d77.png)

Add Override → Post-processing → Bloom
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/cdd2a3aa-011d-cd51-f495-a64d640e75c1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/02d33b8a-d268-730c-4467-2f4a0b77129c.png)

Intensityを有効化し、値を0から変更して完成。下図では5にしている。驚くべきことに**Built-in Render Pipelineの場合とはThresholdとIntensityの位置が逆**であることに注意。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78355/6faefc05-8a1a-ea95-0de8-94531a938ca1.png)

最後に、Built-in RP用にシーンに配置したPost-process Volumeと、同じくMain CameraにアタッチしたPost-process Layerコンポーネントを削除するとよいだろう。Built-in RP用に作成したPost-process Volume Profileは削除してもいいし、残してもいい。

# その他Universal RPの設定

- Window → Rendering → Lighting → Scene → Lighting Settings からアセット化されたライティングの設定を選択することができる。
- Project Settings → Quality → Renderingからアセット化されたレンダリングの品質の設定を選択できる。**ここから選択しないといくらアセットの設定を変更しても反映されない**ので注意。