返回「计算机、信息技术与工程」

贴图Alpha通道的对图片大小的影响

更多
Markdown 结构化数据
本文目录 6 个章节

贴图Alpha通道的对图片大小的影响

note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。

问题

https://blog.uwa4d.com/archives/UWA_Pipeline19.html

在 UWA 的这篇文章中,描述了图片含有 Alpha 通道的话,会对内存有影响

以下是测试资源配置

  • Tga_Alpha - 含有 Alpha 通道
  • Tga_NoAlpha - 不含有 Alpha 通道
  • Png_Trans - 含有透明的图片
  • 进入到 Unity 中的 Format,全部代码设置为 TextureImporterFormat.ASTC_6x6

测试结果

  • 三张图片 Unity 全部 Format 为下图格式
  • 三张图片显示的内存大小全部一样
  • Texture Importer 的 Alpha Source 设置为 None, 对测试结果无影响
  • image.png

问题

图片是否含有 Alpha 通道,对于同一个 Format 格式,内存大小都是一样的

Tex.7z

  • 提问者:什么时候才能支持注销
  • 提问时间:2020-11-04 23:55:40

我的回答

游戏运行时Texture的alpha通道要看导入后的情况,不能看源文件的情况。UWA本地资源检测对于Texture的Alpha通道检测的就是导入后的结果。

图片源文件的格式,图形硬件是不支持的,Unity也不直接接管。导入图片后,会按照Import Settings中的设置对图片进行处理,将图片导入成硬件支持的格式(在引擎中的格式),而在运行中使用的资源也是导入后的。

题主将 Alpha Source 设置为 None,那么导入时就不对源文件的Alpha通道进行导入,而压缩格式为ASTC_6x6,这个格式是包含Alpha通道的。这样导入后三个资源都会默认生成一个全为1的alpha通道。占用内存大小自然一样。

  • 回答时间:2020-11-05 01:57:58
  • 最后更新:2020-11-05 01:57:58
  • 采纳状态:未采纳

来源与关系