Unityシェーダーでアウトラインが途切れる問題の対処法。Mesh Type Full Rectの設定。
関連ページ
Unityで画像のUV座標をいじったりするシェーダーを使うと、画像が奇妙なところで途切れることがある。
コードを何度見返しても間違いないし、画像も適切なものを使ってるのに修正できずしばらく悩んだ。
答えはTextureの設定だった。
TextureのMesh Typeを変更する
まず前提として、画像のUV座標を操作するシェーダーでは、その画像の範囲を超えた先まで座標を移動することはできない。
例えば下の画像は、画像を左右上下にぶれさせてアウトラインを拡張するBlurシェーダーを応用したBloom(発光)シェーダーになる。
見ての通り、拡張したアウトラインが不自然に正方形に収まってる。
なのでシェーダーを適用させる画像には、あらかじめ周囲に透明な空白部分を作っておく必要がある。
しかし画像を修正しても何故かアウトラインが修正されない。
理由は簡単で、TextureのMesh TypeをTightからFull Rectに変更する必要があった。
0
0