【Unity】PVRTCの画像をきれいに表示する方法

テクスチャ圧縮形式 PVRTCを使用すると画像の端が汚くなったり、アルファの抜け部分にゴミがついてたりとあまりきれいに表示されないことが多いです。 特に目立つものは以下の方法を試すと効果があると思います。

ちなみにソフトがないので検証していませんが業務であれば、OPTPiX社のiméstaのClear PVRTCを使うのが、きれいでサイズも軽くなるのでおすすめです。
※ただし金銭と手間はかかります。 www.webtech.co.jp

やり方

① 透明部分を一度、後ろの画に対して最適な色で塗りつぶしてから、透明にしてPNGで出力する。
Photoshopでもできますが、こちらのスクリプトを使用してみました。
GitHub - keijiro/unity-pvr-cleaner: アルファ入りの PVRTC を奇麗にするコツ

  1. Switch Platform してiOS
  2. 命名の最後をPVR.pngにする
  3. インポート時に処理が行われる(※サイズが大きいとかなり時間かかるので注意)

② アルファマスクを使用する
こちらのスクリプトを使用してみました。
GitHub - keijiro/unity-alphamask: Unity でアルファマスクを使う

  1. Switch Platform してiOS
  2. 命名の最後をwith alpha.pngにする
  3. インポート時に処理が行われる。
  4. シェーダーをSpriteWithMaskにして、マスクとテクスチャをアサイン。
  5. ColorをRGBA(127.127.127.127)にする。(※デフォルトだとすべて256になっていて、元の色になっていない)

結果

http://f.st-hatena.com/images/fotolife/m/min0124/20160301/20160301103455.png?1456796178

①の方法 上部にあった、特に目立ったゴミが取り除かれました。ただし処理に時間がかかるのがネックです。

②の方法 マスクを使うとクリアになりすぎて、意図したボケ具合が失われそうです。ただし、ETC(Android)でも使える方法なので、有効だと思います。