Unity 纹理优化及TextureProcessor工具

88 篇文章 269 订阅
8 篇文章 1 订阅

更新日期:2020年11月18日。
Github源码:[点我获取源码]

纹理优化

作为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的倍数),右上角有pngjpgtga的类型选择,取消勾选谁,则修正时将忽略该格式的纹理资源,也可以在指定纹理资源上点击右键,在弹出的菜单中选择排除该纹理,则它将不会存在于处理列表中。

注意:纹理缩放器目前仅支持处理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...按钮可以另存纹理到其他文件,这将不对原图产生任何影响,这是推荐的保存方式。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神码编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值