u3d怎么在ui上显示3d3d ui动态产品效果图

Unity3D开发不可忽视的细节问题 - Unity3d技术 - 泰课在线 - 国内最大的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho
Unity3D开发不可忽视的细节问题
作者:大帅纷纭
1.NGUI如果管理图集(有些很大的图,和很小的图在一起,会空白区域不可用)。
2.如果在u3d里面减小美术资源的大小,例如说带Alpha通道的图会大一些。
3.如何控制显示面板层次深度,例如多个面板都需要现在时候,如果控制你操作的面板在最顶端。
4.U3D自带消息机制优缺点,对于MVC来说。
5.资源复用问题,依赖打包与否,游戏内存针对场景和角色管理问题。
6.对NGUI来说如何减少Calling。
综合答案:
1.每个UI以1个UIPanel为标准,过多的UIPanel首先会导致DrawCall的增多,其次会导致UI逻辑的混乱。
2.不要过多的使用UITexture,因为每个UITexture都会增加1个DrawCall,所以一般UITexture会作为背景图出现在UI上,至于是小背景还是大背景都可以。
3.NGUI的图集不要太大,不要把很多个UI元素都放在一个图集里,在UI显示时加载资源IO速度会非常慢。我几种方式来管理图集,例如每个UI一个图集,大于300*100宽度的图不做图集,抑或一个系统模块2个图集,甚至我还测试过以整个游戏为单位来划分公共图集,按钮图集,头像图集,问题图集等,但这种方式最终以图集过大IO过慢而放弃,这些图集的管理方式都是应项目而适应的,并没有固定的方式,最主要是你怎么理解程序读取资源时的IO操作时间。
4.在开发中,尽量用Free分辨率来测试项目UI的屏幕自适应效果,不要到上线才发现自适应有问题。
UI屏幕自适应的代码:
[c#] 纯文本查看 复制代码
float defaultWHRate = 800f / 480f;
float ScreenWHRate = (float)Screen.width / (float)Screen.
bool isUseHResize = defaultWHRate &= ScreenWHRate ? false :
UIRoot root = GameObject.Find(&ROOT&).GetComponent&UIRoot&();
if (!isUseHResize)
float curScreenH = (float)Screen.width / defaultWHR
float Hrate = curScreenH / Screen.
root.manualHeight =(int)(480f / Hrate);
root.manualHeight = 480;
5.将UI界面拆分以及固定各个锚点,上,左上,右上,中,左中,右中,下,左下,右下
6.要充分的管理游戏中的UI,不然过多的UI会导致内存加速增长,而每次都销毁不用的UI则会让IO过于频繁降低运行速度。我的方法是找到两者间的中间态,给予隐藏的UI一个缓冲池,当每次某个UI进行隐藏时判断是否有需要销毁的UI。或者也可以这么做,每时每刻去监控隐藏的UI,哪些UI内存时间驻留过长就销毁。
7.另外关于图标,像头像,物品,数量过多的,可以用打成几个图集,按一定规则进行排列,减小文件大小减少一次性读取的IO时间。
8.尽量减少不必要的UI更改,NGUI一旦有UI进行更改,它就得重新绘制MESH和贴图,因为重绘会比较耗CPU。
9.游戏中尽可能的不要使用动态字体,因为动态字体每次都会做IO操作读取相应的图片,这个是NGUI一个问题,费cpu,费内存。
10.设置脚本执行次序,在U3D的Project setting-&Script Execution Order 中。由于NGUI以UIPanel为主要渲染入口,所以,所有关于游戏渲染处理的程序最好放在渲染之后,也就是UIPanel之后。UIPanel以LateUpdate为接口入口,所以关于渲染方面的程序还得斟酌是否方在LateUpdate里。
11.NGUI对于动态的移动旋转等的UI操作支持性很差,当有这种操作过多的时候,会使得屏幕很卡。解决办法就是,自己用程序生成面片,面片的渲染不再受到NGUI的控制。
对于美术资源大小问题:
一、2的N次方大小的图片会得到引擎更大的支持,包括压缩比率,内存消耗,打包压缩大小,而且支持的力度非常大。
二、减小图片的占用大小和内存方式有:图片大小变化(Maxsize),色彩位数变化(16位,32位),压缩(PVRC)。
后发表看法
Unity VIP会员①群
Unity VIP会员②群
HTML5公开课①群(hot!)
HTML5公开课②群(new!)
Cocos2dx公开课①群(hot!)
Unity公开课①群(2000人群)
Unity公开课②群(2000人群)
Unity公开课③群(2000人群)
Unity公开课④群(2000人群)
泰斗社区求职招聘①群
工作时间: 9:00 - 17:00
北京客服: 010 -
广州客服: 020 -u3d如何让粒子特效在场景和ui面板显示的一样?_百度知道
u3d如何让粒子特效在场景和ui面板显示的一样?
//e.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://e,怎么办,然后用在ui面板的时候粒子没有跟着一起缩放://e.hiphotos.hiphotos.jpg" esrc="/zhidao/wh%3D600%2C800/sign=e7b59fa6bf/86dffdef24b899a901f20a,就是start size没跟着缩放.com/zhidao/pic/item/86dffdef24b899a901f20a.hiphotos.baidu,只有模型跟这缩放因为做特效的时候在3d场景做的.baidu?<a href="/zhidao/wh%3D450%2C600/sign=0a006c3e3c87edffdef24b899a901f20a
我有更好的答案
条兔兔兔兔兔兔兔兔
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 u3d ui教程 的文章

 

随机推荐