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