更新日期:2020年11月18日。
Github源码:[点我获取源码]
索引
- 纹理优化
- TextureProcessor工具
- 使用
- Resizer纹理缩放器
- 打开纹理缩放器
- 检索目标文件夹
- 修正不标准纹理
- 全局纹理缩放修正
- Painter纹理绘画器
- 打开纹理绘画器
- 编辑目标纹理
- 1.Fix Multiple Of 4 宽高修正
- 2.Cut Blank Pixels 剪切边缘空白像素
- 3.Grayscale 灰度化
- 4.Brightness 亮度调节
- 5.Saturation 饱和度调节
- 6.Value 明暗度调节
- 7.MirrorLR、MirrorTB 左右、上下镜像
- 保存、另存
纹理优化
作为Unity所有优化方案中最重要、最简单的优化手段,纹理优化一直被我们放在了项目优化的第一步,而对于纹理优化,主要可以分为以下两个点:
- 纹理的压缩格式
- 纹理的尺寸大小
对于纹理的压缩格式
,只要纹理资源满足条件(宽、高满足一定条件),Unity默认会使用当前平台的最佳压缩方案,除非你懂得每种压缩格式间的利弊,否则一般不用去强制设置。
然后就是纹理的尺寸大小
了,众所周知纹理的尺寸越小,自然就能达到最佳优化效果,但在很多情况下,降低纹理尺寸这件事很可能是一种奢求,所以,我们只得尽可能的去制造能够使用最佳压缩方案的条件。
这个使用最佳压缩方案的条件,最基本的也是最简单的一条就是:
纹理的宽、高皆为4的倍数
注意:在某些特殊平台条件将更为苛刻。
我们来查看一个简单的例子,如下一张纹理,宽高为非4的倍数,所占内存大小为311KB:
我们通过某些手段使得他的宽高改变为最相近的4的倍数(将高度266增大为268),此时所占内存大小为24.9KB,缩小了10倍多!(事实上通过名称中带的格式Crunched DXT1已然能够看出这张纹理使用了压缩格式,宽高为4的倍数使得他满足了压缩条件)
可以看出只是稍微更改一点点纹理的尺寸,所得到的内存收缩程度是惊人的,当然,一般情况下项目中的尺寸不标准纹理也较少,比如贴图这类纹理一般都是2的次方正方形,这比4的倍数还要标准,这就不在我们的考虑范围之内了。
针对一些奇形怪状的Sprite纹理,有时候很难达到标准尺寸,况且美术不一定每次都记得4的倍数,所以这就是我们此行需要解决问题的目标。
TextureProcessor工具
TextureProcessor
可助你快速将不标准的纹理(宽高尺寸随意)修正为标准纹理(宽高尺寸皆为4的倍数),同时,名为纹理处理器,也即是说它同时也支持一些基本的纹理编辑功能,不用打开PS就能满足你的一些基本需求。
使用
Resizer纹理缩放器
打开纹理缩放器
点击菜单HT
-> Texture Processor
-> Texture Resizer
打开纹理缩放器窗口:
检索目标文件夹
纹理缩放器支持选定一个目标文件夹后,检索目标文件夹内的全部纹理资源,可以使用拖拽将一个文件夹拖动到Target Folder
后面的字段,然后点击后面的Search
按钮:
修正不标准纹理
在检索窗口中会列出目标文件夹内的全部纹理资源,其中红色
的带有感叹号
标记且有Raw
字样提示的即为不标准纹理(宽高尺寸非4的倍数),右上角有png
,jpg
,tga
的类型选择,取消勾选谁,则修正时将忽略
该格式的纹理资源,也可以在指定纹理资源上点击右键,在弹出的菜单中选择排除
该纹理,则它将不会存在于处理列表中。
注意:纹理缩放器目前仅支持处理png,jpg,tga这三种格式的纹理。
此时点击右上角Resize To Multiple Of 4
按钮,即可启动修正程序,所有处于列表中的Raw纹理都将被修正为宽高最接近的4的倍数,且完成后会弹出处理结果回馈界面:
在此界面中,我们可以看到:
- 一共修正了多少个纹理资源;
- 总共消耗时长;
- 原始纹理的总大小(存储);
- 原始纹理的总大小(运行时);
- 修正后纹理的总大小(存储);
- 修正后纹理的总大小(运行时);
- 各个纹理的详细修正数据;
注意:红色字样为原始纹理数据,青色字样为修正后的纹理数据,绿色字样为此次修正带来的内存节约量。
点击右上角的按钮Export To File
可以将修正数据导出到文件中,以便于后续查看内存收缩量时进行鲜明的对比。
全局纹理缩放修正
全局纹理缩放修正是脱离于纹理缩放器的单独功能,支持一键将所有纹理修正,但事实上并不推荐这个操作,因为纹理修正为4的倍数后,纹理的边缘会有1-3像素的内容为增加或减少的内容,某些要求视觉精确的纹理无法容忍这个操作,所以需慎用全局纹理缩放修正。
注意:如果纹理带有透明通道,则修正它时新增的像素全部为透明像素,不会影响原图的视觉效果。
点击菜单HT
-> Texture Processor
-> Resize To Multiple Of 4 All
,在弹出的确认框上点击Yes
后,将启动全局纹理缩放修正程序,他将会修正整个项目中所有不标准的纹理,这个操作可能会耗费不少的时间,且无法撤销,请再三确认后再点击Yes
。
Painter纹理绘画器
打开纹理绘画器
点击菜单HT
-> Texture Processor
-> Texture Painter
打开纹理绘画器窗口:
编辑目标纹理
纹理绘画器支持针对目标纹理进行常规编辑,比如尺寸修正、剪切空白像素、灰度化、亮度调节、饱和度调节、明暗度调节、镜像等。
使用鼠标拖拽任一纹理资源到编辑窗口中,此后便可进行纹理编辑:
1.Fix Multiple Of 4 宽高修正
纹理绘画器也支持针对不标准纹理的修正,直接点击工具栏的Fix Multiple Of 4
按钮即可,修正后Fix Multiple Of 4
按钮将变灰,也即是Fix Multiple Of 4
按钮为灰色不可点击时则证明纹理为标准纹理:
2.Cut Blank Pixels 剪切边缘空白像素
剪切边缘空白像素只针对带透明通道的纹理(透明度为0时被认为是空白像素),剪切的边缘为上下左右四边,中间若有空白像素将忽略,类似于PS的剪切四周空白像素功能:
3.Grayscale 灰度化
灰度化会将整张纹理变化为对应的灰度图:
4.Brightness 亮度调节
亮度调节:
5.Saturation 饱和度调节
饱和度调节:
6.Value 明暗度调节
明暗度调节:
7.MirrorLR、MirrorTB 左右、上下镜像
左右、上下镜像:
保存、另存
当编辑纹理完成后,点击右上角Save
按钮可以保存纹理并覆盖原图,这个操作无法撤销所以需慎重,点击右上角Save As...
按钮可以另存纹理到其他文件,这将不对原图产生任何影响,这是推荐的保存方式。