テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】iOSでもETC2が使えるようになった。

f:id:tsubaki_t1:20171121233920j:plain

Unity 2017.3からiOSでもETC2が使えるようになりました。

ETC2

ETC2はOpenGLES3で制式採用されている画像圧縮フォーマットです。
OpenGLES 3が使用出来る端末…要するに概ねのAndroidで同様に使用できる圧縮フォーマットといった感じです。

端末的にはiPhone 5S辺りから使用できるんじゃないかなといった感じ(適当

 

さて、このETC2ですが、基本的には標準フォーマットなハズなんですが、Apple的にはどうも色々と雲行きが怪しい所に居ました。

基本的に噂ですが、曰く Metalで余りちゃんとサポートされていない、曰く Apple的にはASTC推しだから出来れば使用してほしくない、曰く内部的には展開される云々。

そんなこんなで、まずはiOS環境下でASTCが使用できるようになった訳ですが、Unity 2017.3からETC2 も使用できるようになるみたいです。

tsubakit1.hateblo.jp

なお、ETC2はOpenGLES2が対応プラットフォームに含まれていると使用できません。

端末的対応表

PVRTC → 全部動く…半透明が汚い傾向。Power VRを止めたので今後どうなる?

ETC2 → iPhone 5S辺りから

ASTC → iPhone 6から。PVRTCと同じサイズで圧倒的に綺麗

iOSのETCは多分おまけ

このETCとiOS、どちらかと言えば ETCのCrunch圧縮に対応した事が理由じゃないかなと思います。

要するに、iOSはオマケかもしれません。

blogs.unity3d.com

CrunchはETC 2を追加圧縮する事で、非常にデータサイズを小さく出来ます。

ただ解凍は基本CPUっぽいので、ロードが早くなるかは未検証です。

f:id:tsubaki_t1:20171122000831j:plain

ロードはソコよりResourcesやAssetBundleNameの大量発行でアセットの整列妨害(及びランダムアクセスの増加)が問題じゃないかなと密かに思ってたり。

 関連

http://www.binomial.info/

ttps://twitter.com/tsubaki_t1/status/932958718827757568

h