画像テクスチャ圧縮方式

Unityは、ソースファイルのインポートテクスチャ(JPG、PNG、PSD、TGA)、Unityは適切に選択し、異なるプラットフォームや実際のニーズのためにTexture2Dを設定するオプションで、サポートされている形式にTexture2Dに変換されますようにさまざまな画像形式をサポートしています画像テクスチャを最小限に抑えるために圧縮形式のメモリを取ります。

公式文書はサポートされているすべてのテクスチャ圧縮フォーマットできます:公式の文書リンクを、テクスチャ圧縮フォーマットは、画像メモリのサイズと画質とのトレードオフで選択します。同時に、プラットフォームによってサポートされるテクスチャ圧縮フォーマットを選択するために、プラットフォームがターゲットテクスチャ圧縮フォーマットをサポートしていない場合、RGBA 32テクスチャを解凍し、圧縮されたテクスチャと一緒にメモリに格納されます。これが発生すると、テクスチャが解凍に時間の無駄、およびメモリの無駄になります。また、異なるプラットフォームは異なるハードウェア、最適化された特定の圧縮形式を持っている、互換性のないフォーマットを選択し、ゲームのパフォーマンスに影響します。

Androidプラットフォーム透明チャネル優先的に使用ETC1せず、透明チャネル優先的に使用ETC2で、より高品質の要件はRGBA16、RGBA32を使用することができます。IOSプラットフォーム優先PVRTCの下では、ASTCが続きます。これは、高品質のRGBA16、RGBA32を使用することができますが必要です。

画像メモリは小さく、負荷より速く、より良いゲームのパフォーマンスによって占められます。しかし、絵のいくつかの圧縮形式のサイズはいくつかの制限があります。ETC1、ETC2とASTC4x4必要な幅と画像サイズの高さが等しくなくてもよいが、4の倍数でなければならず、IOSイメージ圧縮フォーマットは幅要求PVRTCの高さは同じでなければならず、2の整数乗である、または圧縮することができません。加算ETC2とASTCのハードウェアはまた、いくつかの制限がありますでは、ETC2は唯一のOpenGL ES 3.0は、Androidの携帯電話より、ASTCがサポートする唯一のアップルA8の将来のデバイスをサポートしています。これらは、ノートに圧縮形式の選択のすべての事項です。

次の表は、各圧縮フォーマットのプラットフォームのサポートを示しています。

テクスチャ圧縮フォーマット 説明 サイズ
256×256ピクセルのテクスチャについて
プラットフォームサポート
RGB圧縮DXT1 圧縮符号なし整数整数RGBテクスチャ。 32キロバイト(ピクセル当たり4ビット) Windows、Linux、MacOSの、PS4、Xboxの一つ、アンドロイド(NvidiaのTegraはインテルベイトレイル)、WebGLのの

注:では、線形レンダリングのsRGB DXTをサポートしていないWebブラウザ上で、テクスチャはRGBA32するために、実行時に圧縮されていないです。
RGBクランチDXT1 RGB圧縮DXT1に似ていますが、圧縮圧縮を使用しました。圧縮についての詳細を学ぶために、上記の注を参照してください。 変数、テクスチャ内のコンテンツの複雑さに応じて。 Windows、Linux、MacOSの、PS4、Xboxの一つ、アンドロイド(NvidiaのTegraはインテルベイトレイル)、WebGLのの

注:では、線形レンダリングのsRGB DXTをサポートしていないWebブラウザ上で、テクスチャはRGBA32するために、実行時に圧縮されていないです。
RGBA圧縮DXT5 圧縮符号なし整数整数RGBAテクスチャ。ピクセル当たり8ビット。 64キロバイト(ピクセル当たり8ビット) Windows、Linux、MacOSの、PS4、Xboxの一つ、アンドロイド(NvidiaのTegraはインテルベイトレイル)、WebGLのの

注:では、線形レンダリングのsRGB DXTをサポートしていないWebブラウザ上で、テクスチャはRGBA32するために、実行時に圧縮されていないです。
RGBAクランチDXT5 そして、RGBA圧縮DXT5似ていますが、圧縮圧縮を使用しました。圧縮についての詳細を学ぶために、上記の注を参照してください。 変数、テクスチャ内のコンテンツの複雑さに応じて。 Windows、Linux、MacOSの、PS4、Xboxの一つ、アンドロイド(NvidiaのTegraはインテルベイトレイル)、WebGLのの

注:では、線形レンダリングのsRGB DXTをサポートしていないWebブラウザ上で、テクスチャはRGBA32するために、実行時に圧縮されていないです。
RGB圧縮BC6H 符号なしのフローティング圧縮/ハイダイナミックレンジ(HDR)RGBテクスチャ。 64キロバイト(ピクセル当たり8ビット) WindowsのDirect3Dの11:OpenGLの4、Linuxの。

注:BC6Hのテクスチャは、次のプラットフォーム構成にRGBAの半分に、実行時に解凍されます:
- OpenGLとMacOSの
-のDirect3D 10シェーダーモデル4またはOpenGL 3 GPUを搭載したプラットフォーム。
RGB(A)圧縮BC7 高品質は、RGBまたはRGBAテクスチャ整数符号なし整数を圧縮します。 64キロバイト(ピクセル当たり8ビット) WindowsのDirect3Dの11:OpenGLの4は、Linuxの

:注:BC7のテクスチャは、RGBAの以下のプラットフォーム構成上の32ビットへの実行時に解凍されている
OpenGLとMacOSの-
-のDirect3D 10シェーダーモデル4とプラットフォーム
のOpenGL 3 GPUを搭載したプラットフォーム。
RGB圧縮ETC RGBのテクスチャ圧縮。これはデフォルトのテクスチャ圧縮フォーマット、アルファチャンネルのAndroidプロジェクトです。 32キロバイト(ピクセル当たり4ビット) アンドロイド、iOSの、tvOS。
注:ETC1はすべてのOpenGL ES 2.0のGPUでサポートされています。それはアルファをサポートしていません。
RGBクランチETC 类似于RGB压缩等,但使用压缩压缩压缩。请参阅上面的注释,了解更多关于压缩压缩的内容。 Variable, depending on the complexity of the content in the texture. Android, iOS, tvOS.
RGB Compressed ETC2

压缩RGB纹理。

32KB (4 bits per pixel) Android (OpenGL ES 3.0)
Note: On Android platforms that don’t support ETC2, the texture is uncompressed at run time to the format specified by ETC2 fallback in the Build Settings.
RGBA Compressed ETC2 压缩RGBA纹理。这是用于Android项目的alpha通道纹理的默认纹理压缩格式。 64KB (8 bits per pixel) Android (OpenGL ES 3.0), iOS (OpenGL ES 3.0), tvOS (OpenGL ES 3.0)

Note: On iOS and tvOS devices that don’t support ETC2, the texture is uncompressed at run time to RGBA32. On Android platforms that don’t support ETC2, the texture is uncompressed at run time to the format specified by ETC2 fallback in the Build Settings.
RGBA Crunched ETC2 类似于RGBA压缩ETC2,但是使用压缩压缩压缩。请参阅上面的注释,了解更多关于压缩压缩的内容。 Variable, depending on the complexity of the content in the texture. Android (OpenGL ES 3.0), iOS (OpenGL ES 3.0), tvOS (OpenGL ES 3.0)

Note: On iOS and tvOS devices that don’t support ETC2, the texture is uncompressed at run time to RGBA32. On Android platforms that don’t support ETC2, the texture is uncompressed at run time to the format specified by ETC2 fallback in the Build Settings.
RGB Compressed ASTC 可变块大小压缩RGB纹理。 12x12: 0.89 bits per pixel (7.56KB for a 256x256 Texture)
10x10: 1.28 bits per pixel (10.56KB for a 256x256 Textures)
8x8: 2 bits per pixel (16KB for a 256x256 Texture);
6x6: 3.56 bits per pixel (28.89KB for a 256x256 Texture)
5x5: 5.12 bits per pixel (42.25KB for a 256x256 Texture)
4x4: 8 bits per pixel (64KB for a 256x256 Texture)
tvOS (all), iOS (A8), Android (PowerVR 6XT, Mali T600 series, Adreno 400 series, Tegra K1).
RGBA Compressed ASTC 可变块大小压缩RGBA纹理。 12x12: 0.89 bits per pixel (7744 bytes for a 256x256 Texture)
10x10: 1.28 bits per pixel (10816 bytes for a 256x256 Textures)
8x8: 2 bits per pixel (16KB for a 256x256 Texture);
6x6: 3.56 bits per pixel (29584 bytes for a 256x256 Texture)
5x5: 5.12 bits per pixel (43264 bytes for a 256x256 Texture)
4x4: 8 bits per pixel (64KB for a 256x256 Texture)
tvOS (all), iOS (A8), Android (PowerVR 6XT, Mali T600 series, Adreno 400 series, Tegra K1).
RGB Compressed PVRTC 2 bits 高压缩RGB纹理。质量低,但尺寸小,性能更佳。 16KB (2 bits per pixel) Android (PowerVR), iOS, tvOS.
RGBA Compressed PVRTC 2 bits 高压缩RGBA纹理。质量低,但尺寸小,性能更佳。 16KB (2 bits per pixel) Android (PowerVR), iOS, tvOS.
RGB Compressed PVRTC 4 bits 压缩RGB纹理。高质量的纹理,特别是在颜色数据上,但是需要很长时间来压缩。 32KB (4 bits per pixel) Android (PowerVR), iOS, tvOS.
RGBA Compressed PVRTC 4 bits 压缩RGB纹理。高质量的纹理,特别是在颜色数据上,但是需要很长时间来压缩。 32KB (4 bits per pixel) Android (PowerVR), iOS, tvOS.
RGB Compressed ATC

压缩RGB纹理。

32KB (4 bits per pixel) Android (Qualcomm - Adreno), iOS, tvOS.
RGBA Compressed ATC

压缩RGBA纹理。

64KB (8 bits per pixel) Android (Qualcomm - Adreno), iOS, tvOS.
RGB 16 bit

65万种没有阿尔法的颜色。使用比压缩格式更多的内存,但是更适合于UI

或者没有渐变的脆纹理。

128KB (16 bits per pixel) All platforms.
RGB 24 bit 真正的颜色,但没有alpha。 192KB (24 bits per pixel) All platforms
Alpha 8 高质量的alpha通道,但没有任何颜色。 64KB (8 bits per pixel) All platforms.
RGBA 16 bit 低质量的真实颜色。这是具有alpha通道的纹理的默认压缩。 128KB (16 bits per pixel) All platforms.
RGBA 32 bit 真正的颜色和alpha。这是具有alpha通道的纹理的最高质量压缩。 256KB (32 bits per pixel) All platforms.

おすすめ

転載: www.cnblogs.com/dingzhaoliang/p/12149598.html