読者です 読者をやめる 読者になる 読者になる

Unity Texture 2D の種類と意味 どれを使えば良いか

!!!あとで追記する!!!


Unity に画像をインポートすると、必ず変換処理が行われます。
Android、iOS向け、変換Formatの選び方を書きます。

選択肢のTexture Format は、ハードウエアがダイレクトに読み込み出来るフォーマットが基本になっています。

非圧縮系

format 変換内容 いつ使うか ファイルのサイズ(256x256) 注意点
Alpha8 アルファカラーのみ。フルカラーのアルファ値と同じ色階調 Alpha値のないテクスチャに、Alpha値を持たせたいときなど 64 KB -
ARGB32 アルファありのフルカラー。無圧縮 色数が多くやピクセル単位が重要で、透過情報も必要なとき。Bumpmapの法線テクスチャなど 256 KB 最も容量が大きい
RGB24 ARGB32から、アルファ値を省いた物。 - 192 KB -
ARGB4444 ARGB32より、それぞれの色階調が半分になっている 色数が少なめで、ピクセル単位の正確さが求められる場合 128 KB グラデーションには向かない
RGB565 ARGB4444 より若干色数が多いが、アルファ値は使えない 色数が少なめで、アルファ値がいらない場合 128 KB グラデーションには向かない

圧縮形

ハードウエアが対応している場合は、ロードが高速になり、実行時メモリが少なく、ファイルサイズも小さい。
対応していない場合は、RGBA 32 にメモリ上で展開され、圧縮テクスチャと共にメモリに格納されます。

format 変換内容 いつ使うか 対応プラットフォーム ファイルのサイズ(256x256) 注意点
PVRTC_RGBA4 4x4のブロック単位で圧縮されるアルゴリズム jpegのような、劣化が目立ちにくい画像 すべてのiOSAndroidも対応している物が多い 32 KB 正方形、2のべき乗である必要があります。ノイズが発生します
PVRTC_RGB4 4x4のブロック単位で圧縮されるアルゴリズム jpegのような、劣化が目立ちにくい画像 すべてのiOSAndroidも対応している物が多い 32 KB 正方形、2のべき乗である必要があります。ノイズが発生します
PVRTC_RGBA2 PVRTC_RGBA4 の半分の容量 jpegのような、劣化が目立ちにくい画像 すべてのiOSAndroidも対応している物が多い 16 KB 正方形、2のべき乗である必要があります。ノイズが発生します
PVRTC_RGB2 PVRTC_RGB4 の半分の容量 jpegのような、劣化が目立ちにくい画像 すべてのiOSAndroidも対応している物が多い 16 KB 正方形、2のべき乗である必要があります。ノイズが発生します
ETC_RGB4 DXTより高品質 - すべてのAndroid 32 KB Alpha値が必要な場合は、別テクスチャなど必要になります
DXT1 4x4のブロック単位で圧縮されるアルゴリズム。1bit の alpha値を含められる DirectX で標準のフォーマット。 Nvidia Tegra のGPU 32 KB -
DXT5 4x4のブロック単位で圧縮されるアルゴリズム。アルファ値あり DirectX で標準のフォーマット。 Nvidia Tegra のGPU 64 KB -
ATC_RGB4 Alpha値なし Android で対応している物が多い。Qualcomm Snapdragon CPU用 32KB
ATC_RGBA8 Alpha値あり - Android で対応している物が多い。Qualcomm Snapdragon CPU用 64KB