Unity3D中枚举类型UnityEngine.TextureFormat详解

Table of Contents

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

在Unity中,UnityEngine.TextureFormat 枚举类型定义了多种纹理格式,每种格式都有不同的通道数、每个像素的字节数以及适用场景。以下是 UnityEngine.TextureFormat 中每个值的具体含义、通道数、每个像素的字节数等详细信息:


1. 常用纹理格式

枚举值 含义 通道数 每个像素字节数 描述
Alpha8 单通道 Alpha 1 1 仅存储 Alpha 通道,适用于遮罩或透明度贴图。
ARGB4444 4 通道 ARGB,每通道 4 位 4 2 每个通道 4 位,适用于低精度颜色贴图。
RGB24 3 通道 RGB,每通道 8 位 3 3 存储 RGB 颜色,无 Alpha 通道,适用于普通颜色贴图。
RGBA32 4 通道 RGBA,每通道 8 位 4 4 存储 RGBA 颜色,适用于带透明度的颜色贴图。
RGB565 3 通道 RGB,R 和 B 各 5 位,G 6 位 3 2 压缩格式,适用于低精度颜色贴图。
R16 单通道 16 位 1 2 存储单通道 16 位数据,适用于高度图或深度图。
DXT1 DXT1 压缩格式 3 0.5 压缩格式,适用于不透明或 1 位 Alpha 贴图。
DXT5 DXT5 压缩格式 4 1 压缩格式,适用于带透明度的贴图。
RGBA4444 4 通道 RGBA,每通道 4 位 4 2 每个通道 4 位,适用于低精度带透明度的颜色贴图。
BGRA32 4 通道 BGRA,每通道 8 位 4 4 存储 BGRA 颜色,适用于带透明度的颜色贴图。
RHalf 单通道 16 位浮点数 1 2 存储单通道 16 位浮点数,适用于高精度数据。
RGHalf 2 通道 16 位浮点数 2 4 存储双通道 16 位浮点数,适用于高精度数据。
RGBAHalf 4 通道 16 位浮点数 4 8 存储四通道 16 位浮点数,适用于 HDR 贴图。
RFloat 单通道 32 位浮点数 1 4 存储单通道 32 位浮点数,适用于高精度数据。
RGFloat 2 通道 32 位浮点数 2 8 存储双通道 32 位浮点数,适用于高精度数据。
RGBAFloat 4 通道 32 位浮点数 4 16 存储四通道 32 位浮点数,适用于超高精度数据。
YUY2 YUY2 压缩格式 3 2 适用于视频纹理。
RGB9e5Float 3 通道 RGB,共享指数浮点数 3 4 适用于 HDR 贴图,节省内存。
BC4 BC4 压缩格式(单通道) 1 0.5 适用于单通道数据压缩。
BC5 BC5 压缩格式(双通道) 2 1 适用于法线贴图等双通道数据压缩。
BC6H BC6H 压缩格式(HDR) 3 1 适用于 HDR 贴图压缩。
BC7 BC7 压缩格式(高质量 RGBA) 4 1 适用于高质量 RGBA 贴图压缩。
DXT1Crunched DXT1 压缩格式(进一步压缩) 3 0.5 适用于不透明贴图,进一步压缩以减少文件大小。
DXT5Crunched DXT5 压缩格式(进一步压缩) 4 1 适用于带透明度的贴图,进一步压缩以减少文件大小。
PVRTC_RGB2 PVRTC 2 位 RGB 压缩格式 3 0.25 适用于移动设备上的 RGB 贴图压缩。
PVRTC_RGBA2 PVRTC 2 位 RGBA 压缩格式 4 0.25 适用于移动设备上的 RGBA 贴图压缩。
PVRTC_RGB4 PVRTC 4 位 RGB 压缩格式 3 0.5 适用于移动设备上的 RGB 贴图压缩。
PVRTC_RGBA4 PVRTC 4 位 RGBA 压缩格式 4 0.5 适用于移动设备上的 RGBA 贴图压缩。
ETC_RGB4 ETC1 4 位 RGB 压缩格式 3 0.5 适用于 Android 设备上的 RGB 贴图压缩。
ETC2_RGB ETC2 8 位 RGB 压缩格式 3 0.5 适用于 Android 设备上的 RGB 贴图压缩。
ETC2_RGBA1 ETC2 8 位 RGBA 压缩格式(1 位 Alpha) 4 0.5 适用于 Android 设备上的 RGBA 贴图压缩(1 位 Alpha)。
ETC2_RGBA8 ETC2 8 位 RGBA 压缩格式 4 1 适用于 Android 设备上的 RGBA 贴图压缩。
ASTC_4x4 ASTC 4x4 压缩格式 4 1 适用于高质量 RGBA 贴图压缩。
ASTC_5x5 ASTC 5x5 压缩格式 4 0.8 适用于高质量 RGBA 贴图压缩。
ASTC_6x6 ASTC 6x6 压缩格式 4 0.67 适用于高质量 RGBA 贴图压缩。
ASTC_8x8 ASTC 8x8 压缩格式 4 0.5 适用于高质量 RGBA 贴图压缩。
ASTC_10x10 ASTC 10x10 压缩格式 4 0.4 适用于高质量 RGBA 贴图压缩。
ASTC_12x12 ASTC 12x12 压缩格式 4 0.33 适用于高质量 RGBA 贴图压缩。
ETC_RGB4Crunched ETC1 4 位 RGB 压缩格式(进一步压缩) 3 0.5 适用于 Android 设备上的 RGB 贴图压缩,进一步压缩以减少文件大小。
ETC2_RGBA8Crunched ETC2 8 位 RGBA 压缩格式(进一步压缩) 4 1 适用于 Android 设备上的 RGBA 贴图压缩,进一步压缩以减少文件大小。

2. 总结

  • UnityEngine.TextureFormat 提供了多种纹理格式,适用于不同的场景和平台。
  • 通道数每个像素的字节数 是选择纹理格式时的重要参数。
  • 压缩格式(如 DXT、PVRTC、ETC、ASTC)可以显著减少内存占用,但可能会损失一定的图像质量。
  • 浮点格式(如 RHalf、RGBAFloat)适用于高精度数据存储,如 HDR 贴图或物理模拟数据。

根据具体需求(如平台、内存占用、图像质量等),选择合适的纹理格式。

kumakoko avatar
kumakoko
pure coder
comments powered by Disqus