これは凄い情報。
Unityで開発する人・iOSで開発する人には是非とも広がって欲しい。
PVRTCのアルファ画像の滲みを減らせる良い方法が見つかった。
keijiro/unity-pvr-cleaner
左が適応前、右が適応後。若干外側ににじみ出ている部分が無くなり、綺麗になっているのが判る。
何をやったかと言うと、下の画像のアルファで透明になる部分に色(灰色)を設定しただけ。
(理由は良くわからないが、アルファを出力した画像のアルファを抜くと、こんな感じの色になる)
詳しくはURLで解説しているので割愛するが、要するにアルファ0描画されないハズの部分が圧縮に影響を与えてしまっているらしい。
なので、その辺りを塗りつぶしてやればOKとの事。
ちなみにPVRTexToolには「アルファ部分を特定色で塗りつぶす」というオプションが有るが、Unityはそれを使っていないらしい。
もうちょっと言えば、黒線等は兎も角、この絵のような「枠線の色が部位によって異なる」場合、その色の延長で塗りつぶすのが最も綺麗に表示される気がする。
使い方は簡単で、まずunity-pvr-clearnerのTextureModifierをEditorフォルダ以下に配置。
後はファイルのラストがPVRとついているファイルをインポートすると、自動的に色を塗りつぶして圧縮する。例えば「Test A PVR.png」等。
アルファ部分が関係しているとは思わなんだ…
ちなみに、PVRTCは画像の縁の部分(例えばpos(0,1)やpos(512,512)等)が超荒れるのは仕様らしい(ドキュメントに書いてあるとの事)。なので、縁の10pixelは使用を避けるのが良さそうだ。