NGUI PK UGUI

功能

 

图集方面

NGUI:是必须先打出图集然后才能开始做界面。这一点很烦,因为始终都要去考虑你的UI图集。比如图集会不会超1024,图集该如何来规划等等。在制作的时候需要将图片打入图集后才能进行制作。

UGUIsprite packer的模式。自带的图集打包模式,注意图片不能放在Resources文件夹下面,Resources文件夹下的资源将不会被打入图集,切记。没打包的时候生成的图集保存在和Assets文件夹同级的目录,Libary/AtlasCache里面,打包的时会重新自动生成就会生成并且会打到包中。在制作的时候不需要打图集,值需要标记包名称就行,换图什么的都很方便,Sprite Editor有切图工具,使用方便

问题:UGUI这种打包时候打图集的方式,我们看不到文件,并且不能Resource.Load,以后的图集热更怎么办

列表和布局

         NGUI

                  UIRoot下,通过锚点进行自适应

Grid,Table等布局组件,

显示区域是PanelClip来实现的,进行paneldrawcall合并

控件可以把任意UI元素作为参考点来进行锚点

WrapList等复杂控件

         UGUI

有专门的布局组件LayoutGroup,使用还是比较方便的,

显示区域是采用的是Mask,采用Mask会导致drawcall的上升;

个人感觉泛化了Panel的概念,就是一个带有ImageRectTransform

通过spritepack进行drawcall合并

锚点只能相对于父节点,但是个人感觉比NGUI的锚点使用方便的多

没有提供很多的复杂控件,但是自己封装也不困难

 

渲染顺序

         NGUI

先根据Paneldepth进行排序,Panel再内部Depth排序

NGUI提供查看某个Panel drawcall占用情况的工具,方便进行drawcall调优

 

UGUI

采用Hierarchy层级和Z轴坐标来决定渲染顺序,越下面渲染在顶层.

 

文本显示

         NGUI

                   支持动态字体,

斜体,粗体,下划线,删除线,超链接,角标,颜色,描边,阴影,渐变色

支持表情符号,但需要将表情打入图集,但是中文是用的动态图集,没法打图集。

 

         UGUI

                  只支持粗体,斜体,大小(可以一个控件内多个字体大小),颜色,其他的网上有(但是很少),但是都不太好用,

 

控件

         基础控件没什么大差别

         NGUI

                   图集单个图片效果什么的只能对复制图集实现

UGUI

图集单个图片可以使用material,

动画

         NGUI内部集成了Tween动画系统,也能用unity自带的动画系统,但是这些Tween动画协程比较多,不建议使用

UGUI也能使用第三方动画系统和自带动画系统,没什么区别,这方面没什么

 

程序

 

事件系统(输入与响应)

NGUI

        通过每个空间上的BoxCollider来进行输入响应,

 

UGUI

        UI自动拦截输入,事件触发;提供各种接口

 

 

你可能感兴趣的:(Unity3D,NGUI,UGUI,Unity)