Unity3D

2021-05-10  本文已影响0人  我家菇凉

UGUI简介

UGUI是Unity官方推出的UI系统,集成了所见即所得的UI解决方案, 其功能丰富并且使用简单,同时其源代码也是开放的,下载地址:https://bitbucket.org/Unity-Technologies/ui/src

相比于NGUI,UGUI有以下几个优点:

所见即所得的编辑方式,在Scene窗口中即可编辑。

智能的Sprite packer可以将图片按tag自动生成图集而无需人工维护,生成的图集合并方式比较合理,无冗余资源。

渲染顺序与GameObject的Hierarchy顺序相关,靠近根节点显示在底层,而靠近叶子节点显示在顶层;这样的渲染方式使得调整UI的层级比较方便和直观。

RectTranForm及锚点系统更适合于2D平面布局,并且非常方便多分辨率屏幕自适配。


合理的分配图集,合理的分配图集可以降低drawcall和资源加载速度;

具体细节如下:

+ 同一个UI界面的图片尽可能放到一个图集中,这样可以尽可能的降低drawcall。

+ 共用的图片放到一个或几共享的图集中,例如通用的弹框和按钮等;相同功能的图片放到一个图集中, 例如装备图标和英雄头像等;这样可以降低切换界面的加载速度。

+ 不同格式的图片分别放到不同的图集中,例如透明(带Alpha)和不透明(不带Alpha)的图片,这样可以减少图片的存储空间和占用内存。(UGUI的sprite packer会自动处理这种情况)

合理的资源目录 resources目录中应该只保存prefab文件,其它非prefab文件(例如动画,贴图,材质等)应放到resource目录之外;因为随着项目的迭代,可能会导致部分资源(动画,贴图)等失效,如果这些文件放在resource目录下,在打包时,unity会将resource目录下文本全部打成一个大的AssetBundle包(非resouce目录下的文件只有在引用到时才会被打到包里),从而出现冗余,增加不必要的存储空间和内存占用。可以通过以下代码(Mac环境下)在控制台窗口中查看当前目录下所有非prefab资源的代码: find . -type f | egrep -v “(prefab|prefab.meta|meta)$” 

https://blog.csdn.net/qq_18229381/article/details/80033406

上一篇 下一篇

猜你喜欢

热点阅读