Toonシェード †
ver. 4.5.0
実装試してみた。
調整きっちり出来ていない暫定。なんかもっと良く出来そうな気がする。
こちらも参照
ページ:セルシェード
実装 †
1. ポストプロセスマテリアルのBP。Gバッファーからライティング結果を逆計算する。そのライティング結果からToonパターンのテクスチャ参照。
ポストプロセスマテリアルではライティング結果だけのGバッファーは取れないそうなので、自分で何とかするしかないっぽい。
![UE4-PostProcessMaterial-Toon01.png UE4-PostProcessMaterial-Toon01.png](https://com04.sakura.ne.jp:443/unreal/wiki/index.php?plugin=ref&page=%A5%DD%A5%B9%A5%C8%A5%D7%A5%ED%A5%BB%A5%B9-%A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-Toon%A5%B7%A5%A7%A1%BC%A5%C9&src=UE4-PostProcessMaterial-Toon01.png)
- シモダさんのサンプルは此方から
https://twitter.com/junyash/status/523059646282493953
- サンプルで使ったToonパターンは此方
UE4-PostProcessMaterial-ToonPattern.bmp
2. (1)の結果と、ライティングされていないカラーを乗算してシェーディング。更にその結果と、アウトライン(Laplacianフィルター)の結果を乗算。
![UE4-PostProcessMaterial-Toon02.png UE4-PostProcessMaterial-Toon02.png](https://com04.sakura.ne.jp:443/unreal/wiki/index.php?plugin=ref&page=%A5%DD%A5%B9%A5%C8%A5%D7%A5%ED%A5%BB%A5%B9-%A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-Toon%A5%B7%A5%A7%A1%BC%A5%C9&src=UE4-PostProcessMaterial-Toon02.png)
調整 †
- ポストプロセスマテリアルの詳細、「Post Process Material」-「Blendable Location」を「Before Translucency」にした方がいいっぽい。
- PostProcessVolumeの他のポストエフェクトの影響も受けているので、そちらも要調整。
- PostProcessVolumeの「AA Method」は「Temporal AA」より「FXAA」の方がアウトライン的にいいかもしれない。
結果 †
- 通常レンダリング結果
![UE4-PostProcessMaterial-Toon03.png UE4-PostProcessMaterial-Toon03.png](https://com04.sakura.ne.jp:443/unreal/wiki/index.php?plugin=ref&page=%A5%DD%A5%B9%A5%C8%A5%D7%A5%ED%A5%BB%A5%B9-%A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-Toon%A5%B7%A5%A7%A1%BC%A5%C9&src=UE4-PostProcessMaterial-Toon03.png)
- 今回のシェーディング
![UE4-PostProcessMaterial-Toon04.png UE4-PostProcessMaterial-Toon04.png](https://com04.sakura.ne.jp:443/unreal/wiki/index.php?plugin=ref&page=%A5%DD%A5%B9%A5%C8%A5%D7%A5%ED%A5%BB%A5%B9-%A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-Toon%A5%B7%A5%A7%A1%BC%A5%C9&src=UE4-PostProcessMaterial-Toon04.png)