Unity NGUI学习笔记(一)各版本UI比对
NGUI:一个快过时了的UI插件,目前可能还有一些老项目在用,新项目基本都是UGUI或者其他的了。所以简单的学习一下就好。
UGUI:官方根据NGUI做了改进,在Unity中增加的原生UI。比旧版的GUI多了很多功能。
GUI:最早先版本UI系统,性能很差,基本已经被放弃。
听说NGUI和UGUI是同一个制作团队,不确定真假,但未来肯定是UGUI这个亲儿子越来越好用。
两种UI的区别:
- UGUI的根目录是CANVAS,NGUI则是UIRoot。
- 在屏幕自适应方面,ugui为render mode。ngui则为scaling style。
- anchor(锚点)的使用方式差不多,都是用来固定位置,在可视化方面,ugui的花瓣锚点真不太好调。
- ngui灵活性不是一般的高,随意创建一个sprite,加了boxcollider,它就可以是按钮、滑动条。
- ugui的sprite的切图功能真心不错。ngui使用图集不能直接拖拉(毕竟是三方插件)略不方便。
- ngui的tween动画功能很省心,无需额外定义代码,使用封装好的脚本就可以实现一些简单动画,叠加脚本甚至能实现相对复杂的动画效果。
- uGUI的Canvas 有世界坐标和屏幕坐标。
- uGUI的Image可以使用material。
- UGUI通过Mask来裁剪,而NGUI通过Panel的Clip。
- NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层(cocos更像UGUI一些)。
- UGUI 不需要绑定Colliders,UI可以自动拦截事件。
- UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor操作起来比NGUI更方便。
- UGUI没有Atlas一说,使用Sprite Packer。
- UGUI的Navigation在Scene中能可视化。
- UGUI的事件需要实现事件系统的接口,但写起来也算简单。
- NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
- NGUI支持图文混排,UGUI暂未发现支持此功能。
- UGUI没有 UIWrap 来循环 scrollview 内容。
- UGUI暂时没有Tween组件。
UGUI与NGUI比较图
本文部分内容引自:https://blog.csdn.net/panghuyou/article/details/110387962
更多内容请查看总目录【Unity】Unity学习笔记目录整理