NGUI之UIPanel】的更多相关文章

原文:http://www.tasharen.com/forum/index.php?topic=6705.0 概述 UIPanel用来收集和管理它下面所有widget的组件.通过widget的geometry创建实际的draw call.没有panel所有东西都不能够被渲染出来.如果你对Unity熟悉,你可以把UIPanel当做Renderer. 所有panel都有一个Depth值,会影响所有它包含的widget.如果你的UI有很多窗口,那么最好每个窗口有一个panel.Panel上的dept…
全文请看:http://note.youdao.com/noteshare?id=f7b476be35ec554e311bc13ef60b62ef…
本文参考自 http://forum.china.unity3d.com/thread-1099-1-1.html 使用NGUI版本3.7.5. 在创建了一个UIRoot后,有时会报NullReferenceException的错误,如下图.虽然报错但是不影响运行. 截取部分报错输出是 NullReferenceException: Object reference not set to an instance of an object UIPanel.get_worldCorners () (…
目录 1.介绍两大UI插件NGUI和UGUI 2.unity渲染顺序控制方式 3.NGUI的控制 4.UGUI的控制 5.模型深度的控制 6.粒子特效深度控制 7.NGUI与模型和粒子特效穿插层级管理 8.UGUI与模型和粒子特效穿插层级管理 写在前面 这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉.对于界面,这应该算是一个很严重的bug,很大部分原因是整个UI框架没有从整体上考虑这个,后来决心弄清楚层级…
Unity3D-NGUI分析,使用NGUI做UI须要注意的几个要点在此我想罗列一下,对我在U3D上做UI的一些总结,最后解剖一下NGUI的源码.它是假设架构和运作的. 在此前我介绍了自己项目的架构方式,所以在NGUI的利用上也是相同的做法,UI逻辑的程序不被绑定在物体上. 那么怎样做到GUI输入消息的传递呢,答案是:我封装了一个关于NGUI输入消息的类.因为NGUI的输入消息传递方式是U3D中的SendMessage方式,所以在每一个须要接入输入的物体上动态的绑定该封装脚本. 在这个消息封装类中…
1 资源分离打包与加载 游戏中会有很多地方使用同一份资源.比如,有些界面会共用同一份字体.同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等.可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独打包.比如若资源A和B都引用了资源C,则将C分离出来单独打一个bundle.在游戏运行时,如果要加载A,则先加载C:之后如果要加载B,因为C的实例已经在内存,所以只要直接加载B,让B指向C即可.如果打包时不将C从A和B分离出来,那么A的包里会有一份C,B的包里也会有…
CPU方面性能考虑:引擎和代码渲染模块.动画模块.物理模块.ui模块.粒子模块.加载模块.GC模块最重要的是渲染模块.UI模块和加载模块1.渲染模块主要是:场景.物体和特效的渲染a.降低Draw call在unity中,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall.批处理Draw Call Batching原理:每一帧把可以进行批处理的模型网格进行合并,再把合并后模型数据传递给GPU,然后使用同一个材质对其渲染.动态批处理:条件是物体使用同一个材质,并且满足对应的特定条件,u…
上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geometry缓存(顶点数,UV,Color,法线,切线).PS:之所以要生成这些数据,是为了之后生成mesh来渲染 而UIPanel,通过遍历自己子类下所有的UIWidget组件(已经按深度排序),先创建一个UIDrawCall,然后把该Widget的material,texture,shader对象以…
这是我去搜狐畅游面试时,面试官问的一个问题.问NGUI的机制原理是什么?就是这个插件是根据什么写出来的.当时没答上来,下面是我从转载过来的,可以研究研究. 之前项目中用的NGUI的版本是3.0.7 f3,开始的时候感觉没有什么问题,直达最近项目UI的完成度比较高时,就突然出现掉帧很严重的现象,即使只有一个UI打开(其他都是active = false的情况下),打开profier,发现UIPanel LateUpdate 竟然占了CPU使用率的50%左右,这太恐怖了,虽然之前看到过有吐槽NGUI…
简介 马三最近换到了一家新的公司撸码,新的公司 UI 部分采用的是 NGUI 插件,而之前的公司用的一直是 Unity 自带的 UGUI,因此马三利用业余时间学习了一下 NGUI 插件的使用,并把知识点记录成博客与大家分享. 在我们使用 NGUI 插件创建的 UI 中,可以发现 UIRoot 物体和 Camera 物体上面都带有 NGUI 特有的脚本组件,其中 UIRoot 物体上面带有 UIRoot 和 UIPanel 两个组件,而子物体 Camera 带有一个 UICamera 组件,这三个…