Unity3D 实用技巧 -NGUI vs UGUI

本文对比了Unity中的两种UI系统:UGUI和NGUI。UGUI作为Unity原生支持的UI系统,具有屏幕自适应性强、易于使用和扩展等优点;而NGUI则在图文混排方面更具优势。总体而言,UGUI因与Unity紧密结合,在新项目中更为推荐。
UGUI
UGUI为引擎自带插件,即为Unity UI插件。其实新的UI系统是从Unity4.6开始被集成到Unity编译器中的,Unity官方给这个新的UI系统赋予的标签是:灵活,快速和可视化。所以对于开发者而言,就是有三个优点:效率高效果好,易于使用和扩展以及与Unity的兼容性高。
  • UGUI系统具有以下优点:
1、引擎内置,结合更加紧密。UGUI出现了锚点的概念,更方便屏幕自适应。
2、运行稳定,操作方便。另外UGUI与老版本onGUI相比,拥有独立的坐标体系,全新的事件机制,更佳高效率的运转效率。
3、更方便的深度处理。
4、省去Altas,直接使用Sprite Packer。
NGUI
NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件。提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能,在开发使用上尽可能趋向简单好用。
  • NGUI系统具有以下优点:
1、NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
2、NGUI支持图文混排。

NGUI vs UGUI 对战

1、UGUI出现了锚点的概念,更方便屏幕自适应;
2、UGUI没有Atlas图集一说,使用Sprite Packer;
3、NGUI支持图文混排,UGUI暂未发现支持此功能;
4、UGUI的Canvas 有世界坐标和屏幕坐标;
5、UGUI的Image可以使用自定义Material材质球;
6、UGUI通过Mask来裁剪,而NGUI通过Panel的Clip;
7、UGUI的事件需要实现事件系统的接口,但写起来也算简单;
8、UGUI 不需要绑定Colliders,UI可以自动拦截事件;
9、UGUI的Anchor是相对父对象,没有提供高级选项,所以UGUI的Anchor操作起来比NGUI更方便;
10、UGUI的Navigation在Scene中能可视化;
11、UGUI没有 UIWrap 来循环 scrollview 内容;
12、UGUI暂时没有Tween组件;
13、NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层;
14、 NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
所以,整体总结起来,还是因为UGUI是Unity原生支持的,所以使用上会更加的人性化。并且伴随着版本升级功能会越来越强,逐渐将成为主流UI选择的方案。而NGUI是UGUI出现之前的产物,通过MeshRenderer来实现类似CanvasRenderer的功能,概念上有点蹩脚,虽然NGUI在使用上在最大限度让UI开发工作变得简单,但相比能够让UnityEditor做出相应修改的UGUI(如RectTransform的出现),其易用性是没法比的。综合来说,新的项目建议使用UGUI,学习成本不高,工具流更有助于提高开发效率。
最后小编特别介绍一个方便好用的插件,NGUI可以自动转为UGUI的处理插件(NGUI To UGUI): https://assetstore.unity.com/packages/tools/utilities/ngui-to-ugui-168877
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值