首先我们看一下NGUI
NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能。对所有其他用户而言,这意味着更高的性能、更低的学习难度和更加有趣。完全集成到Inspector面板中。 不需要点击Play按钮就能查看结果。 在场景视图中看到的就是在游戏视图中得到的(所见即所得)。 基于组件的、模块化的特性:要让你的界面控件做什么,只需为其附加相应的行为,而不需要编码。 全面支持iOS/Android和Flash。 灵活的事件系统。 可以让复杂的UIs只占用一个draw call。
再看一下UGUI
UGUI即UnityGUI是官方的UI的实现方式,后来因为效率和可视化程度低,逐渐被NGUI和EzGUi等第三方插件替代。但是,在Unity4.6之后,又推出了新的uGUI系统,包括后面的5.x版本也都采用了这一新系统。UGUI还在不断完善,正在逐步追上NGUI的地位。
看完了这些,那我们来说说NGUI与UGUI的区别。
1、UGUI的Canvas 有世界坐标和屏幕坐标
2、UGUI的Image可以使用material
3、UGUI通过Mask来裁剪,而NGUI通过Panel的Clip
4、NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.