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 贴图或物理模拟数据。
根据具体需求(如平台、内存占用、图像质量等),选择合适的纹理格式。