FishPlayer

一个喜欢摸鱼的废物

0%

UGUI PSD智能对象导图小记

当前的项目里因为UI缺乏UI美术人,没有人力导图拼图,所以使用了PSD2UGUI插件。这个插件又依赖一个分析PSD的解析库psd-parser
这俩东西都已经有点老旧了,美术那边遇到了一个问题,他们做的智能对象图层不能正确导出。

直接用文字有点难描述,大概是这样的。他们做的智能对象大小就和图里这个黑底一样大,但实际有图案部分就像红框里的那样,不会占满整个智能对象的区域。
用工具导出Sprite的时候,只会导出红框的大小。


解决方法比较简单粗暴了,因为psd-parser似乎不能很方便拿到智能对象的实际的区域尺寸,我只能让美术多做一个和需要导出的只能对象尺寸大小一样的纯色空图层。
同时新增两个后缀规则,让这个纯色空图层和需要依照智能对象尺寸导出的图层分别使用。

PSD2UGUI中根据图层生成Texture的代码中添加后缀检查,检测到特殊规则的时候去去根据特殊的纯色图层的尺寸再去重新绘制Texture。同时在PSD2UGUI中根据图层创建他的ImageNode的时候有个Rect需要计算,这个Rect计算也要修改。