Unity3D纹理介绍及优化
Unity3D对于图片的支持
-
jpg : 有损压缩 文件小 不支持透明
-
png: 无损压缩 文件小 支持透明
-
tag:无所压缩 文件大 支持透明
-
dds : 无损压缩 文件最小 支持透明 不支持iOS
无论任何格式的图片放入Unity后会被转换为Unity自身的Texture2D格式 ,Unity3D只识别2的N次方的图片,因此图片导入后悔自动转为符合标准大小的图片。因此不等价于贴图资源本身的大小。
如果原图不是2的幂次方,可以在advance设置Non Power of 2值,
-
ToNearest :转换成距离该图片最近的2的幂次方值。
-
ToLarger : 转换成比该图片大的2的幂次方值。
-
ToSmaller : 转换成比该图片小的2的幂次方值。
我们在项目中一般使用png和jpg文件
纹理资源项目管理
UI模块引用的纹理
Unity3D在搭建UI时有可能会发生下面几种问题。
引用外部的图片
外部图片是独立打包,然后动态加载的。所以UI模块不能引用外部图片,不然会在被引用的模块又打包进一张图片。
处理方式:获取UI模块下预设所引用的guid,然后在查找外部图片的guid,对比得到所引用的外部图片。
不允许各模块之间交叉引用图片
功能模块资源包都是根据包括进行AB包生成的,不允许各模块之间交叉引用图片。对于多个模块需要引用到的图片可以使用一个common包进行标志。
无用的纹理及时删除
将图片分为动态加载和静态加载两个目录,分