位置: 编程技术 - 正文

Unity开发优化----删除多余的MeshCollider和Animation组件(unity优化方案)

编辑:rootadmin

推荐整理分享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在渲染的时候每个点都多余的进行了一次乘法的运算(效率白白的浪费了)。。。

作为程序我们首先要避免策划和美术犯错,果断的写一个插件吧,美术在上传场景之前先运行一下插件,把没用的组件删除掉。

如果你的项目中美术已经上传了很多场景,并且你也不知道那个场景有问题,那就快写一个批量删除所有场景的插件吧。

Unity开发优化----删除多余的MeshCollider和Animation组件(unity优化方案)

结合上面的代码

另外清注意 只有你的场景在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中删除组件的方式 转载自:

本文链接地址:https://www.jiuchutong.com/biancheng/369182.html 转载请保留说明!

上一篇:Unity3D研究院之Assetbundle的实战(六十三)(unity as)

下一篇:NGUI中动画的代码使用(动画时期)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络