Unity 纹理管线指南与工具

为 Unity 目标准备与转换纹理

为 Unity 工作流导出 ASTC、DDS 或 KTX2 压缩纹理。理解何时向 Unity 编辑器的 Texture Importer 提供源图(PNG、TGA、EXR),何时为运行时资产加载准备预编码容器文件。

工具入口

选择 Unity 纹理流程

常规路线使用平台预设;如果已知道目标容器,也可以直接打开具体编码器。

本页覆盖内容

编辑器 Texture Importer 与运行时纹理加载的区别

GPU 硬件支持某种压缩格式并不等于所有 Unity 项目都能直接在项目窗口拖入裸容器文件(.astc、.dds、.ktx2)。标准 Unity 项目通过 Texture Importer 在构建时自动转码源图;而官方 KTX for Unity 等扩展包则同时支持编辑器导入与运行时加载兼容容器。

移动端、桌面端与 HDR 格式目标

为 Android/iOS 移动端构建准备 ASTC,为 Windows/主机等桌面平台准备 DDS BCN(BC1-BC7),为 HDR 天空盒和环境贴图准备 BC6H 容器。

对齐 Unity 官方文档与导入规范

遵循 Unity Manual Texture Importer 关于各平台格式覆盖(Platform Overrides)、块压缩算法及纹理显存管理的最佳实践。

使用方式

明确编辑器导入与运行时流式载入的区别,选择目标平台格式,并相应地准备或编码资产。

  1. 01

    选择导入路线:编辑器导入 vs 运行时载入

    如果是项目标准资产,建议准备 PNG、TGA 或 EXR 等源图,交由 Unity Texture Importer 在编辑器中按平台自动转码压缩;若使用官方 KTX for Unity 扩展包等方案,预编码的 KTX2/Basis 贴图可同时支持编辑器导入与运行时加载。

  2. 02

    选择目标压缩格式

    移动端优先选择 ASTC(如 4x4 或 6x6 块规格);桌面端选择 BC1/BC3/BC7;HDR 光照图选择 BC6H。

  3. 03

    集成到 Unity 工程

    源文件直接放入 Assets 目录通过 Inspector 配置压缩参数;预编码容器则可通过官方 Unity Cloud KTX 包(com.unity.cloud.ktx)在编辑器导入或运行时加载。

常见问题

并非所有格式都能直接拖入使用。标准 Unity 工程依赖 Texture Importer,它接收 PNG、TGA、TIFF、EXR 等源图格式,由导入及目标平台构建流程按设置处理。Addressables 与 AssetBundles 是资源分发机制而非容器解析器,NativeArray 亦非容器解析器。针对不同压缩容器:DDS 可由 Unity 支持的 DDS 导入路径处理,具体格式与拓扑须按项目 Unity 版本验证;raw ASTC 需要合适导入流程;KTX2 与 Basis Universal 则可通过官方 Unity Cloud KTX (com.unity.cloud.ktx) 等兼容包在编辑器导入或运行时加载。详情请参阅 Unity Manual:https://docs.unity3d.com/Manual/class-TextureImporter.html

在目标设备、GPU 硬件及图形 API 支持时优先考虑 ASTC 格式,项目需先行检查目标平台与设备的支持情况。可以在 Unity 的各平台覆盖设置中选择 ASTC 块规格(从高质量的 4x4 到平衡体积与显存的 6x6 或 8x8),或者为运行时加载器预编码对应的 ASTC 容器。

Unity 的 Texture Importer 支持导入 EXR 和 HDR 格式源文件,并在构建时压缩为桌面端 BC6H 或支持 HDR 的移动端 ASTC。若需预编码容器,可使用 BC6H DDS 输出半精度有损浮点纹理用于天空盒或反射探针(注意 BC6H 是专为实时采样设计的 GPU 有损目标格式,而非源图无损归档)。

官方规范与参考标准

深入了解 Unity 纹理导入管线、各平台格式覆盖(Platform Overrides)与运行时流式载入,请参阅 Unity 官方文档:

相关纹理工具

Unity 纹理转换器 | ASTC、DDS、KTX2 管线指南