Custom Post Processing Effect in URP
自分でUnityで新規プロジェクトを作るときは、ほとんどURPになってきていますが、自前のポストエフェクトを作るときに毎回、Universal Renderer DataにカスタムRenderer Featuresのクラスを作って、追加。みたいなのが辛い。もっと簡単にポストエフェクトできるようになりたいんですが…。更にできるならShaderGraphで新規ポストエフェクトが作れると嬉しい。
これHDRPでは対応しているので、URPでも欲しい。
リサーチ
公式ではIn Progressというステータスになってるけど、2019年の更新なので、もうやるきなさそうだ。
SimplePostEffects
毎度お世話になっているkeijiroさんのサンプルから。これUnity 2021.3.5f1だともう動いてないな…。これを改造して、複数マテリアルを持つようにすれば完了だと思っていたのだけど。
Youtubeの動画通りにone-minus入れても何も反応なし。
ところが、Unity Frame Debuggerでみるときちんと反映されている。(上下逆転しているが。)
なにか2021.3から後処理が入るようになったのだろうか。
urp-postprocessing-examples
もう一つの事例。
こっちはPostEffect毎にCustomPostProcessingのサブクラスを作る。王道の仕組み。個人的にはもう少し気軽に新規エフェクトが作れるようになるとありがたい。
Febucciさんのブログ記事
これも丁寧に説明してくれている。
わからんかったので、神のリポジトリにissue投稿した…
keijiroさんの方式がシンプルで使いやすかったので、やはりこれを使いたいなと思い。
丁寧めにIssue投稿したら、URP (Universal Rendering Pipeline)側のregressionと、URPリポジトリへの該当コミット含め教えてくれた。ありがたい。結果的にUnityへのバグレポになった。
- 複数のShader Graph差し替え
- 任意のコマンドをCommand Bufferに追加
をScriptableRendererFeatureのサブクラスを作らないでも作れるお手軽PostEffectsを公開した。自分のARアプリでdog fooding test
Built-in Pipelineで簡単にできてたあれはURPには機能はないのか…。みたいなのを調べるときの表。