Unity技術検証

スクリプトからURPのUniversalRendererDataを切り替える【Unity】

はじめに

前回の記事の続きになります。

スクリプトによる制御

前回、フルスクリーンシェーダーグラフを活用して、
画面全体にポストエフェクトを適用する方法を記事にしましたが、
スクリプトにより、オン・オフを切り替える方法を探してみました。

1.UniversalRendererDataを作成する
切り替えはUniversalRendererData単位で行うため、
ポストエフェクトが適用されているもの(FullScreenPassRendererFeatureがアタッチされているもの)と、そうでないものを用意します。

2.1をUniversalRenderPipelineAssetに適用
UniversalRenderPipelineAssetのRendererListに、それぞれ追加します。
※デフォルトではポストエフェクト適用前のものが入っています。

1がポストエフェクトが適用されたDataです

3.スクリプトからCameraのRendererを変更する
使用しているCameraのRenderer設定において、1で作成したDataを選択することで画面上に適用されます。

スクリプトから変更する方法については、下記の記事が参考になりました。

Cameraに設定されたRendererをスクリプトから変更する
確認したUnityのバージョン 2019.3.0f1(β版) UniversalRPからカメラにRendererを設定できるようになりました。 しかしCameraクラスにはRend…

おわりに

これでポストエフェクトがぐっと使いやすくなりました。

タイトルとURLをコピーしました