[Unityシェーダー基礎] Unityシェーダーでアウトラインが途切れる問題の対処法。
Mesh Type Full Rectの設定。
関連ページ
Unityで画像のUV座標をいじったりするシェーダーを使うと、画像が奇妙なところで途切れることがあります。
コードを何度見返しても間違いないし、画像も適切なものを使ってるのに修正できずしばらく悩みました。
原因としてはシンプルにTextureの設定でした。

TextureのMesh Typeを変更する
まず前提として、画像のUV座標を操作するシェーダーでは、その画像の範囲を超えた先まで座標を移動することはできないです。
例えば下の画像は、画像を左右上下にぶれさせてアウトラインを拡張するBlurシェーダーを応用した発光シェーダーになります。
見ての通り、拡張したアウトラインが不自然に正方形に収まっています。
なのでシェーダーを適用させる画像には、あらかじめ周囲に透明な空白部分を作っておく必要があります。
しかし画像を修正しても何故かアウトラインが修正されませんでした。
理由は簡単で、TextureのMesh TypeをTightからFull Rectに変更する必要がありました。
0
0