Closed7

Custom Post Processing Effect in URP

Koki IbukuroKoki Ibukuro

自分でUnityで新規プロジェクトを作るときは、ほとんどURPになってきていますが、自前のポストエフェクトを作るときに毎回、Universal Renderer DataにカスタムRenderer Featuresのクラスを作って、追加。みたいなのが辛い。もっと簡単にポストエフェクトできるようになりたいんですが…。更にできるならShaderGraphで新規ポストエフェクトが作れると嬉しい。

これHDRPでは対応しているので、URPでも欲しい。

リサーチ

公式ではIn Progressというステータスになってるけど、2019年の更新なので、もうやるきなさそうだ。

https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/37-post-processing-custom-effects

SimplePostEffects

毎度お世話になっているkeijiroさんのサンプルから。これUnity 2021.3.5f1だともう動いてないな…。これを改造して、複数マテリアルを持つようにすれば完了だと思っていたのだけど。

https://www.youtube.com/watch?v=AQGgwgo51lo&t=0s
https://github.com/keijiro/SimplePostEffects

Youtubeの動画通りにone-minus入れても何も反応なし。

ところが、Unity Frame Debuggerでみるときちんと反映されている。(上下逆転しているが。)
なにか2021.3から後処理が入るようになったのだろうか。

urp-postprocessing-examples

もう一つの事例。

https://github.com/togucchi/urp-postprocessing-examples

こっちはPostEffect毎にCustomPostProcessingのサブクラスを作る。王道の仕組み。個人的にはもう少し気軽に新規エフェクトが作れるようになるとありがたい。

https://github.com/togucchi/urp-postprocessing-examples/blob/e120c442a24f79acea6d0ed26a2924e3dc724f58/Assets/Scripts/CustomPostProcessingPass.cs

Febucciさんのブログ記事

これも丁寧に説明してくれている。

https://www.febucci.com/2022/05/custom-post-processing-in-urp/

Koki IbukuroKoki Ibukuro

わからんかったので、神のリポジトリにissue投稿した…

Koki IbukuroKoki Ibukuro

keijiroさんの方式がシンプルで使いやすかったので、やはりこれを使いたいなと思い。
丁寧めにIssue投稿したら、URP (Universal Rendering Pipeline)側のregressionと、URPリポジトリへの該当コミット含め教えてくれた。ありがたい。結果的にUnityへのバグレポになった。

https://github.com/keijiro/SimplePostEffects/issues/1

Koki IbukuroKoki Ibukuro
  • 複数のShader Graph差し替え
  • 任意のコマンドをCommand Bufferに追加

をScriptableRendererFeatureのサブクラスを作らないでも作れるお手軽PostEffectsを公開した。自分のARアプリでdog fooding test

https://github.com/asus4/URPPostEffect

このスクラップは2022/07/29にクローズされました