NGUI:是必须先打出图集然后才能开始做界面。这一点很烦,因为始终都要去考虑你的UI图集。比如图集会不会超 1024,图集该如何来规划等等。在制作的时候需要将图片打入图集后才能进行制作。
UGUI:sprite packer的模式。自带的图集打包模式,注意图片不能放在Resources文件夹下面,Resources文件夹下 的资源将不会被打入图集,切记。没打包的时候生成的图集保存在和Assets文件夹同级的目
录,Libary/AtlasCache里面,打包的时会重新自动生成就会生成并且会打到包中。在制作的时候不需要打图 集,值需要标记包名称就行,换图什么的都很方便,Sprite Editor有切图工具,使用方便
问题:UGUI这种打包时候打图集的方式,我们看不到文件,并且不能Resource.Load,以后的图集热更怎么办
NGUI: 在UIRoot下,通过锚点进行自适应
有Grid,Table等布局组件,
显示区域是Panel的Clip来实现的,进行panel内drawcall合并
控件可以把任意UI元素作为参考点来进行锚点
有WrapList等复杂控件
UGUI:
有专门的布局组件LayoutGroup,使用还是比较方便的,
显示区域是采用的是Mask,采用Mask会导致drawcall的上升;
个人感觉泛化了Panel的概念,就是一个带有Image的RectTransform;
通过spritepack进行drawcall合并
锚点只能相对于父节点,但是个人感觉比NGUI的锚点使用方便的多
没有提供很多的复杂控件,但是自己封装也不困难
NGUI
先根据Panel的depth进行排序,Panel再内部Depth排序
NGUI提供查看某个Panel drawcall占用情况的工具,方便进行drawcall调优
UGUI
采用Hierarchy层级和Z轴坐标来决定渲染顺序,越下面渲染在顶层.
NGUI
支持动态字体,
斜体,粗体,下划线,删除线,超链接,角标,颜色,描边,阴影,渐变色
支持表情符号,但需要将表情打入图集,但是中文是用的动态图集,没法打图集。
UGUI
只支持粗体,斜体,大小(可以一个控件内多个字体大小),颜色,其他的网上有(但是很少),
但是都不太好用,
基础控件没什么大差别
NGUI
图集单个图片效果什么的只能对复制图集实现
UGUI
图集单个图片可以使用material,
NGUI内部集成了Tween动画系统,也能用unity自带的动画系统,但是这些Tween动画协程比较多,不建议使用
UGUI也能使用第三方动画系统和自带动画系统,没什么区别,这方面没什么
NGUI
通过每个空间上的BoxCollider来进行输入响应,
UGUI
UI自动拦截输入,事件触发;提供各种接口
===============