UE4 ポストプロセスボリュームの実行順を制御する(Priority)
ポストプロセスボリュームの実行順を制御する方法です。
こちらを参考にさせていただきました。
・ポストプロセス エフェクト
https://docs.unrealengine.com/ja/RenderingAndGraphics/PostProcessEffects/index.html
・ポストプロセスマテリアル実行のタイミング
http://imoue.hatenablog.com/entry/2017/04/10/233145
とりあえずこんなことをやろうとした場合のことです。
こんな感じの画面があるとします。

まずはポストプロセスボリューム(ポストプロセスマテリアル)でグレースケールのものを作ります。

次に「赤い」アウトラインが描画されるポストプロセスボリューム(ポストプロセスマテリアル)を作ります。

この二つを配置します。

こんな感じですね。
この二つのポストプロセスボリューム(ポストプロセスマテリアル)を同時に有効にします。
するとこんな感じに…。

アウトラインが白(グレー?)になってしまいました。赤いアウトラインだったはずなのに…。
どうもこれはポストプロセスボリューム(ポストプロセスマテリアル)の実行順に左右されるようです。
※なのでちゃんと赤いアウトラインになる場合もあります。
これをちゃんと制御しようと思った場合は
ポストプロセスボリュームの「Priority」の値を設定して制御します。

このように書かれています。
「Priority」の値が低い順に実行されるようです。
そこで、グレースケールのほうのPriorityを「1.0」に。
アウトラインのほうのPriorityを「0.0」に設定しました。
するとこんな感じに。

上手くグレースケールの後に赤いアウトラインが描画されるようになりました。
本来は一つのポストプロセスマテリアルで行うのが処理負荷的にもよさそうなのですが
とりあえずの絵作りの実験ということでこんな感じでやっています。
こちらを参考にさせていただきました。
・ポストプロセス エフェクト
https://docs.unrealengine.com/ja/RenderingAndGraphics/PostProcessEffects/index.html
・ポストプロセスマテリアル実行のタイミング
http://imoue.hatenablog.com/entry/2017/04/10/233145
とりあえずこんなことをやろうとした場合のことです。
こんな感じの画面があるとします。

まずはポストプロセスボリューム(ポストプロセスマテリアル)でグレースケールのものを作ります。

次に「赤い」アウトラインが描画されるポストプロセスボリューム(ポストプロセスマテリアル)を作ります。

この二つを配置します。

こんな感じですね。
この二つのポストプロセスボリューム(ポストプロセスマテリアル)を同時に有効にします。
するとこんな感じに…。

アウトラインが白(グレー?)になってしまいました。赤いアウトラインだったはずなのに…。
どうもこれはポストプロセスボリューム(ポストプロセスマテリアル)の実行順に左右されるようです。
※なのでちゃんと赤いアウトラインになる場合もあります。
これをちゃんと制御しようと思った場合は
ポストプロセスボリュームの「Priority」の値を設定して制御します。

複数のボリュームをブレンドする順序を定義します。最優先度のボリュームがオーバーラップする、すべてのボリュームに対して優先します。
このように書かれています。
「Priority」の値が低い順に実行されるようです。
そこで、グレースケールのほうのPriorityを「1.0」に。
アウトラインのほうのPriorityを「0.0」に設定しました。
するとこんな感じに。

上手くグレースケールの後に赤いアウトラインが描画されるようになりました。
本来は一つのポストプロセスマテリアルで行うのが処理負荷的にもよさそうなのですが
とりあえずの絵作りの実験ということでこんな感じでやっています。
| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑