【Unity】2Dスプライトやテクスチャがにじむ場合の対処について
2Dスプライトやテクスチャがにじむ場合の対処について
にじんでいますねー。原因は、ずばり圧縮です。
設定を見直そう
スプライト(テクスチャ)の設定を見直しします。
わかりやすくするためにドット絵のスプライトで説明します。
ドット絵の場合は、下記のように設定します。
Texture Typeを Sprite(2D and UI)にします。(当然かw) 上記のようにSprite Mode を Multipleにし、Mesh TypeをFull Rectにします。Filter Modeはドット数が少ない場合にPointが綺麗に出ます。
これで、くっきりと表示されます。エッジが立ちます。
次に圧縮です。標準の場合は、たぶんPVRTCになっています。これを変更します。
iOSの場合、ココを弄ります。
設定により、画像の状態とサイズが変わります。ドット絵ぽくみえますが、8pointで四角を形成しています。(圧縮しても4Pointの倍数なら劣化しにくいためです。)
RGBA compressed PVRTC 4bits の場合 0.5MB
RGBA compressed ASTC 8×8 の場合 256KB
とこんな感じ。今回選択した画像では、RGBA Crunched ETC2が見た目も圧縮率もよく選択することになりました。
ドット絵(1Point)は、圧縮の性質上、劣化する事が多いです。解決策は1Pointを2Pointや4Pointに拡大すると改善します。欠点は、1枚にたくさんの絵が入らないこと。サイズが4倍~8倍になったりします。でも画像サイズも非圧縮よりも小さくできます。
まぁ試行錯誤が必要だと思いますが、どうしても劣化が激しい場合は4Pointを試してみてください。1枚に絵が入るならベストの選択です。
PCやandroidでも基本同じです。
さいごに
参考になりますね。