传统工作流程
- 美术:UI制作完成,将UI元素切图,顺便给一张完整的UI作为layout给客户端程序参考
- 客户端:
拿到切图,放入对应UI的文件夹,打图集
将layout作为参考,根据UI元素摆位置,分组
对于文本:
1. 摆位置和确定字号,没有psd的情况下,需要自己用取色工具取色,或者让美术在layout中标出
2. 本地化(找到本地化文字对应的脚本,填入本地化文字的ID,需要问策划要)
3. 确定文字颜色
4. outline,shadow 添加和确定颜色(一般为了美观,都会有)
对于图片:
1.摆位置和确定宽高
2.在图集中选择相应的sprite
3.如果需要9宫,对相应sprite进行编辑
对于按钮:
1.同图片
2.挂Button脚本
3.对recttransform做自适应调整
4.prefab制作完毕,下面是界面逻辑开发
PSD流程
- 美术:
1. UI制作完成
2. 对导出元素图片名称做标记
3. 对按钮等特殊元素做标记
4. 对9宫做标记
5. 交付PSD文件 - 策划:对Text节点填入本地化ID标记,交付PSD文件
- 程序:
1. 对文件内部的元素按需重命名(主要是美术一般喜欢用拼音比较多),按需分组(美术同事可能不会严格按照功能区块分组)
2. 标记节点的自适应标记
3. 使用psd导出工具,导出atlas图集,生成prefab
4. prefab制作完毕,下面是界面逻辑开发
对比一下可以看到,基于PSD自动导出的工作流
优点
- 可以节省程序员大部分拼UI的工作,这往往也是非常耗费时间的(也是不需要技术的工作,意味着肯定可以用工具代替)。将这部分时间节省下来,可以让程序投入更多精力在UI的具体业务实现上。
- 美术不需要切图了
缺点
- 对于元素的分组,可能任然需要程序员在psd中操作
- 由于psd的内容结构决定了导出后prefab的结构,所以尽量需要避免大规模修改导出后的prefab节点的相对位置关系,对于后期同一个psd增量或者界面修改,甚至是后期为了玩法需要换皮,也需要考虑如何处理
- 美术同事需要对图片的导出名字进行命名
- 自适应的锚点描述需要在psd的节点中中定义标签,不直观