位置: 编程技术 - 正文
推荐整理分享Unity开发优化----删除多余的MeshCollider和Animation组件(unity优化方案),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity优化怎么样,unity ui优化,unity可以从哪些方面优化,unity可以从哪些方面优化,unityugui优化,unity ui优化,unity优化方案,unity开发优化,内容如对您有帮助,希望把文章链接给更多的朋友!
手游项目做碰撞的时候,有关一切物理的东西Unity对手机支持的并不好,多余的MeshCollider 和Animation 空的组件,这俩东西很占效率的。比如下图这样的组件。
还有场景的材质最好用Mobile/Diffuse,它会比Diffuse的shader效率高很多,因为它会减少每个点的一次乘法。但是有时候美术需要做贴图的变色, 那就不能用Mobile/Diffuse了。但是后来我看了一下有很多材质用的是Diffuse,但是颜色那里是纯白色,那么shader在渲染的时候每个点都多余的进行了一次乘法的运算(效率白白的浪费了)。。。
作为程序我们首先要避免策划和美术犯错,果断的写一个插件吧,美术在上传场景之前先运行一下插件,把没用的组件删除掉。
如果你的项目中美术已经上传了很多场景,并且你也不知道那个场景有问题,那就快写一个批量删除所有场景的插件吧。
结合上面的代码
另外清注意 只有你的场景在BuildSettings页面中注册过UnityEditor.EditorBuildSettings.scenes才能获取场景。如果你的场景没有加到BuildSetting中。可以使用以下代码:合并drallCall 最简单的办法就是让美术上传模型的时候勾选一下Static,这样Unity会自动帮我们合并DrawCall.我建议你还是不要相信美术了。帮他们做工具吧。。
或者你也可以在游戏运行中动态的添加,找一个合适的位置写入如下代码。他会把该游戏对象以及所有子对象全部合并DrawCall。
这样合并DrawCall的很方便,而且也很简单。但是无法修改所有子对象的坐标、旋转、缩放了,但是可以修改父对象。如下图所示,比如我给a 设置了static属性,或者 Combine(a.gameObject) ,那么如果代码中你需要操作b 或者 c 的Transform那么是不行的, 但是你可以操作a。 他会带着 b 和c 一起Transform。
【转载自】雨松MOMO 年月日 于 雨松MOMO程序研究院
发表本文固定链接:
Stencil buffer Stencilbuffer模版缓冲(stencilbuffer)或印模缓冲,是在OpenGL三维绘图等计算机图像硬件中常见的除颜色缓冲、像素缓冲、深度缓冲之外另一种数据缓冲。词
NGUI中动画的代码使用 今天发现原来NGUI的Tween效果可以用在任何对象上,下面记录下纯代码使用NGUI的TweenTweenScalets=gameObject.AddComponentTweenScale();ts.from=Vector3.zero;ts.to=Vector3.one;ts.a
Unity3D中删除组件的方式 转载自:
标签: unity优化方案
本文链接地址:https://www.jiuchutong.com/biancheng/369182.html 转载请保留说明!友情链接: 武汉网站建设