什么是UI?
UI即User Interface(用户界面)的简称。泛指用户的操作界面,UI设计主要指界面的样式,美观程度。而使用上,对软件的人机交互、操作逻辑、界面美观的整体设计则是同样重要的另一个门道。好的UI不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。
用一句话来总结:UI就是一切可视化操作页面。
上面的概念可能听起来比较笼统,具体来说每个都有操作系统,操作系统就相当于房子的地基,那么UI就像堆砌房屋需要的砖头、钢筋、水泥等等,不同的房子有不同的外观设计,这样的外观设计就由UI来负责。
1.NGUI与UGUI的区别
1.UGUI的Canvas 有世界坐标和屏幕坐标
2.UGUI的Image可以使用material
3.UGUI通过Mask来裁剪,而NGUI通过Panel的Clip
4.NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.
5.UGUI 不需要绑定Colliders,UI可以自动拦截事件
6.UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor操作起来比NGUI更方便
7.UGUI没有Atlas一说,使用Sprite Packer
8.UGUI的Navigation在Scene中能可视化
9.UGUI的事件需要实现事件系统的接口,但写起来也算简单
2.各自的优缺点
- NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资 源。
- UGUI出现了锚点的概念,更方便屏幕自适应。
- NGUI支持图文混排,UGUI暂未发现支持此功能。
- UGUI没有 UIWrap 来循环 scrollview 内容。
- UGUI暂时没有Tween组件。
在网上看到一张热心网友发的ngui与ugui对比图
3.使用选择总结
UGUI由于是Unity原生支持的,所以使用上会更加的人性化。并且伴随着版本升级功能会越来越强,逐渐将成为主流ui方案。NGUI是UGUI出现之前的产物,通过MeshRenderer来实现类似CanvasRenderer的功能,概念上有点蹩脚。作为一个插件虽然已最大努力让UI开发工作变得简单,但相比能够让UnityEditor做出相应修改的UGUI(如RectTransform的出现),其易用性是没法比的。综合来说,新的项目建议使用UGUI,学习成本不高,工具流更有助于提高开发效率。