Unity 2017.3からiOSでもETC2が使えるようになりました。
ETC2
ETC2はOpenGLES3で制式採用されている画像圧縮フォーマットです。
OpenGLES 3が使用出来る端末…要するに概ねのAndroidで同様に使用できる圧縮フォーマットといった感じです。
端末的にはiPhone 5S辺りから使用できるんじゃないかなといった感じ(適当
さて、このETC2ですが、基本的には標準フォーマットなハズなんですが、Apple的にはどうも色々と雲行きが怪しい所に居ました。
基本的に噂ですが、曰く Metalで余りちゃんとサポートされていない、曰く Apple的にはASTC推しだから出来れば使用してほしくない、曰く内部的には展開される云々。
そんなこんなで、まずはiOS環境下でASTCが使用できるようになった訳ですが、Unity 2017.3からETC2 も使用できるようになるみたいです。
なお、ETC2はOpenGLES2が対応プラットフォームに含まれていると使用できません。
端末的対応表
PVRTC → 全部動く…半透明が汚い傾向。Power VRを止めたので今後どうなる?
ETC2 → iPhone 5S辺りから
ASTC → iPhone 6から。PVRTCと同じサイズで圧倒的に綺麗
iOSのETCは多分おまけ
このETCとiOS、どちらかと言えば ETCのCrunch圧縮に対応した事が理由じゃないかなと思います。
要するに、iOSはオマケかもしれません。
CrunchはETC 2を追加圧縮する事で、非常にデータサイズを小さく出来ます。
https://t.co/2fyV83Fsg2 の高解像度版。見た目はともかく、サイズは結構違う #unity pic.twitter.com/v8R7AQDs8v
— 椿 (@tsubaki_t1) 2017年11月21日
ただ解凍は基本CPUっぽいので、ロードが早くなるかは未検証です。
ロードはソコよりResourcesやAssetBundleNameの大量発行でアセットの整列妨害(及びランダムアクセスの増加)が問題じゃないかなと密かに思ってたり。
関連
ttps://twitter.com/tsubaki_t1/status/932958718827757568
h