声明:这里探讨的是游戏行业,本人不太了解app开发的工作流程。因为本人最近是用unity,故这里大多以unity来说明。
在我们游戏开发领域,特别是国产游戏,UI界面对应的玩法,是一个游戏的大头,特别是在一些弱化战斗体验,以数值玩法为主的游戏中,几乎所有玩法都是在UI上完成,UI的处理,成了一些游戏的重中之重。
制作一个UI界面玩法,涉及到策划,美术,程序,最终一切整合,要由程序完成。在三者交互的过程中,就容易涉及工作内容分工和扯皮的情况。
常见的几种情况有:
- 程序觉得拼UI是个初级工作,希望转嫁工作成本,将拼UI的工作转移给策划或美术
- 美术制作了UI示意图,在如何切图细节上,和程序需要反复沟通修改(程序会要求细化切分,注意重用,或者整合成通用资源,或者考虑打包atlas)
- 美术觉得其他人拼接的最终UI界面,和自己的设计有出入(位置对齐,压缩导致模糊,字体不一样,文字是否有描边等等细节)
- 常见的,因为需求更改的原因,UI经常是一个需要反复修改的工作,涉及到换皮,甚至交互逻辑的修改
除了我列出的几种,还有其他很多合作交流的问题,导致了做UI变成了一件挺痛苦的事情。
对于程序来说,拼UI是个没有太多技术含量的事,导致程序方经常希望将这个事情交给策划,或者美术去做。故而诞生了UI编辑器(fairyGUI等),PSD2UGUI等工具或者解决方案,希望程序只关心逻辑,而显示方面的事情,交互方面的美术细节,交由策划和美术去打磨。
这个想法很美满,但是现实是很骨感的。
1,首先,思维方式不同。
程序在处理UI交互逻辑的时候,常常需要UI的prefab注意层级和控件之间包含关系。例如,要设计一个list,里面的item下有好几个元素,那么,程序可能会将这个item单独用一个container包起来,而不是分散在各处。
如下图:程序来设计,可能会用一个item,将addBtn,name,和icon包起来,方便重用(copy,Instantiate),甚至会考虑这个item是否多个UI界面通用,而将这个item单独处理为一个独立的prefab。
第一,美术和策划,一般不太会有将元素包起来,复用的概念,他们会平铺所有元素。第二,因为UI示意图上可能有三个item,他们可能会创建重复的三个零散的元素。