Santarh / MToon

Toon Shader with Unity Global Illumination
MIT License
534 stars 59 forks source link

陰面消去された面が輪郭描画により輪郭色で埋められる #89

Closed iCyP closed 5 years ago

iCyP commented 5 years ago

下画像例において、陰面消去によりワンピースの袖内側全面が透過されることを私は期待します。 しかし、実際はアウトライン描画処理により黒い面で埋められます。また、陰面消去された面の輪郭線も描画されているのではないかと疑えます。 これは意図されたものでしょうか?

無題
Santarh commented 5 years ago

はい、この状態で問題ないと私は考えます。

輪郭線は、本来のポリゴンを拡大反転させたものが存在しているにすぎないため、存在するポリゴンを描画した結果としてこの状態は正しいと考えます。

もちろん、このような状態が見た目として不十分であるという考えは理解できます。 この状態を回避して見た目を良くするには以下の手段が考えられます。

しかしながら、前者はシェーダの負荷、後者は可搬性の面で採用することはできません。

なにか他に良い実現手段があればぜひご提案ください。以上です。

Santarh commented 5 years ago

追記

この画像のケースにおける、私の考えるベストな解決法を提示します。 それは袖の内側にポリゴンを作成する、です。 見た目を気にする箇所は、モデル作成のレベルで形を整えることが重要だと考えます。

iCyP commented 5 years ago

シェーダの立ち位置からの制約による仕様という認識で承知しました。ご回答ありがとうございます。

あまり無いケースとは思いますが、例えば背景においてマジックミラーのような、表面からは見えないが逆側から透けて見えるというトリックを輪郭線有りオブジェクトでは作成できないことがあるかなと思った次第です。