Atomospheric Fog とheight Fog、空の設定を行い、・トゥーンシェーダをポストボリュームに使用しているのですが
・カメラの視界範囲にトゥーンの色の境目?のような、半円の縁がキャラクターの周りに付いてきてしまいます。
まるでランプを持って歩き回っているような状態で円形に色が異なるものがついてきてしまうのを消したいです。
・トゥーンシェーダを使用している状態でエミッシブの発光物に近づくと発光が消えてしまいます。
消えないようにするにはどうすればよいでしょうか。
作成しているフィールドは夕暮れの状態です。
・トゥーンシェーダを一部のオブジェクトにのみ反映することが出来れば解決できるのかと思われるのですが、ポストマテリアルを一部のアクターにのみ使用することはできますか?
使用しているトゥーンシェーダのノード
画面
どなたかお助けお願いします。
alwei
(alwei)
2
このトゥーンシェーダーはおそらくここを読まれてやられているという前提で話をします。
http://unrealengine.hatenablog.com/entry/2016/05/30/220000
・カメラの視界範囲にトゥーンの色の境目?のような、半円の縁がキャラクターの周りに付いてきてしまいます。 まるでランプを持って歩き回っているような状態で円形に色が異なるものがついてきてしまうのを消したいです。
こちらの症状は画像だけを見てもどこが問題が判断がつきません。境界というのがおそらくポストプロセスマテリアル側の問題と思うので、そちらで解説します。
・トゥーンシェーダを使用している状態でエミッシブの発光物に近づくと発光が消えてしまいます。 消えないようにするにはどうすればよいでしょうか。
これは画像内の『if』ノードのAピンに接続されている『constant』ノードの値が500となっているのが原因です。この数値は実際にカメラから離れた深度情報を取得し、そこからトゥーンシェーダーを適用する範囲となっています。元々このトゥーンシェーダーではエミッシブを出すことはできません。※記事内でもそのように書かれています。
つまり、距離500内に入るとエミッシブ情報が消えてしまうのでそのようになってしまいます。同様に上記の境界線の問題もここから起こります。500を越えるとトゥーンシェーダーの適用範囲を越えてしまうので、変な境界が現れてしまいます。とりあえず解決のためには500ではなく、記事内に書かれているように100000.0などの大きい数値を入れておきます。
・トゥーンシェーダを一部のオブジェクトにのみ反映することが出来れば解決できるのかと思われるのですが、ポストマテリアルを一部のアクターにのみ使用することはできますか?
この方法も記事内に書かれています。一度その辺りを読んでみてください。
回答ありがとうございます。
記事を見落としていました、お手数おかけして申し訳ありません。
ポストマテリアルの処理を再度設定を行ったのですが、『constant』ノードの値を100000にすると謎の境界線のようなものが消えたものの今度は大気フォグが消えてしまいました。
ポスト処理前
ポスト処理後
※薄緑の色がフォグです
フォグとトゥーンのポストマテリアルは同時に扱うことはできますか?
alwei
(alwei)
4
記事内で紹介されているポストプロセスマテリアルではフォグを処理することはできません。ポスト後の処理ではフォグの情報をGバッファから取り出すことができないため、完全にトゥーンと馴染ませるのは非常に難易度が高いです。
ポストプロセスによるトゥーンシェーダーは画面内の色情報をかなり書き換えているので、そのまま利用すると様々な情報が消えてしまいます。場合によってはポストプロセスではなく個々のマテリアルの対するトゥーンシェーディング処理も検討してみてください。(こちらも検索すると色々でてきます)
回答ありがとうございます。
ポスト処理について詳しく教えていただき、ありがとうございます。
個々のマテリアルに処理をかける方法を検索したのですが、なかなか該当するものが見つかりませんでした。
どのようなキーワードで検索すればよいのか教えていただけますか?
お手数おかけし、申し訳ありません…
alwei
(alwei)
6
UE4に限らずこのような表現のことは一般的にトゥーンシェーディング(Toon Shading)よりもセルシェーディング(Cel Shading)の方が一般的です。特に海外から情報を見つける場合にはCel Shadingと検索した方が良いです。
googleで『UE4 Cel Shading』と検索するだけでも色々とでてきます。例えば以下のようなものです。
UE4のセルシェード実装方法を纏めたい
【UE4】セルっぽいルックを頑張ってみる その1(概要)
http://ogimafu.blogspot.jp/2015/03/ue4.html
ここだけでも実に様々なことが書かれています。海外を探せば更に詳しい情報が沢山あります。内容的に理解が難しいということであれば少しずつ調べて勉強してみてください。
最後に次回からは質問に対して回答(Answer)するのではなく、返信はコメントで行うようにしてください。※自分で自分の質問に回答したことになっています。
そして質問が解決した場合には解決済みとなるようにお願いします。使い方は以下にあります。
セルについて調べることが出来ました。
勉強不足で申し訳ありません。
当分はこれらの方法で試して行ってみます。
たくさん教えていただき、ありがとうございました。
コメントの方法などわからずに行っておりご迷惑をおかけして申し訳ありません。
次回から気を付けます。
スレッド復活して申し訳ございませんが、このサイトも役立つかもしれません(2017/10/14迄UE4 Celシェーダー技術纏め)。UE4のセルシェード実装方法を纏めたい - Qiita ※総合的ではありません
数か月にかけてトーンシェーダーを研究した結果、日本語より英語の方はトーンシェーダー技術説明が多いです。
自分の意見だけじゃないですが、スタイライズレンダーリングはUE4でやるより、Unityでやる方は楽です。