前言
目前主流解决方案:UGUI(PSD2UGUI)、FairyGUI(PSD2FairyGUI)、NGUI。
UGUI
优点:
Unity3D官方解决方案,受众范围广,稳定性好,Unity支持好
部分源码开源,扩展性强
调试排查相对容易
缺点:
开发效率需根据工具的完善程度来决定,否则开发效率一般。
引擎之间可移植性差
编辑功能相对弱,需要自己去扩展
优化一般,很多地方需要自己去思考优化方案,否则会有性能问题
工具:PSD2UGUI
优点:美术可以不用学习其他工具,仅使用原生PS即可。
缺点:必须美术有严格的命名规范(学习成本),并且要对容器层次有很好的理解。
工作流单向输出,不可反向修改。要修改必须由美术(PSD上)驱动,造成修改困难问题。
前端先行开发困难,需要美术出好版本切图后,才能开始制作,(或者前端非常熟悉PSD可以自己搞定(TA))
安装复杂(PS.COREDraw)、导出暂时不能自动化,需要一步步点击操作。
修改jsfl生成工具存在另类的学习成本,网络可参考资料缺乏
后期维护成本差
FairyGUI
优点:编辑器强大、多平台引擎支持、多人协作方便
提供大部分常用功能、开发效率高、代码量小
该中间件对UI进行了常用优化。
具有代码生成功能,能大大减少书写重复性代码问题。
可以前端先行开发,美术出图后再进行替换。
设计思想:想便于美术与前端的合作。但是存在美术思维和前端思维不一致问题,美术不知道那些东西可以复用,那些东西需要分组需要放于容器中。所以美术需要有一定的学习成本。好处是美术和前端都可以随时修改UI,而不需要纯粹的美术驱动或者前端驱动。
缺点:调试排查困难(全被合批成了Mesh)、成功案例有待考证、稳定性有待考证、完成复杂UI能力是否完善有待考证、第三方维护不开源(可以花钱买)容易被技术限制。
工具:PSD2FairyGUI
问题同上,
NGUI
优点:早期的Unity3D UI主流解决方案 成功案例多 编辑器功能弱。
缺点:UGUI继承自NGUI的部分功能,目前大部分已经完全取代NGUI、并且NGUI由第三维护逐渐面临被官方UGUI取代问题。