Unity3D优化总结

简介: http://blog.csdn.net/yesy10/article/details/7847926   6、优化数学运算,尽量避免使用float,而使用int,特别是在手机游戏中,尽量少用复杂的数学函数,比如sin,cos等函数。

http://blog.csdn.net/yesy10/article/details/7847926

 

6、优化数学运算,尽量避免使用float,而使用int,特别是在手机游戏中,尽量少用复杂的数学函数,比如sin,cos等函数。改除法/为乘法,例如:使用x*0.5f而不是 x/2.0f 。

7、压缩 Mesh  

导入 3D 模型之后,在不影响显示效果的前提下,最好打开 Mesh Compression。  Off, Low, Medium, High 这几个选项,可酌情选取。对于单个Mesh最好使用一个材质。

8、 运行时尽量减少 Tris 和 Draw Calls  

      预览的时候,可点开 Stats,查看图形渲染的开销情况。特别注意 Tris 和 Draw Calls 这两个参数。  一般来说,要做到:  Tris 保持在 7.5k 以下  ,Draw Calls 保持在 35 以下。

9、避免大量使用 Unity 自带的 Sphere 等内建 Mesh  

      Unity 内建的 Mesh,多边形的数量比较大,如果物体不要求特别圆滑,可导入其他的简单3D模型代替。 

10、如果可能,将GameObject上不必要的脚本disable掉。如果你有一个大的场景在你的游戏中,并且敌方的位置在数千米意外,这是你可以disable你的敌方AI脚本直到它们接近摄像机为止。一个好的途径来开启或关闭GameObject是使用SetActiveRecursively(false),并且球形或盒型碰撞器设为trigger。

11、删除空的Update方法。当通过Assets目录创建新的脚本时,脚本里会包括一个Update方法,当你不使用时删除它。
12、引用一个游戏对象的最合乎逻辑的组件。有人可能会这样写someGameObject.transform,gameObject.rigidbody.transform.gameObject.rigidbody.transform,但是这样做了一些不必要的工作,你可以在最开始的地方引用它,像这样:

privateTransform myTrans;

void Start()

{

    myTrans=transform;

}

 

13、协同是一个好方法。可以使用协同程序来代替不必每帧都执行的方法。(还有InvokeRepeating方法也是一个好的取代Update的方法)。

14、尽可能不要再Update或FixedUpdate中使用搜索方法(例如GameObject.Find()),你可以像前面那样在Start方法里获得它。

15、不要使用SendMessage之类的方法,他比直接调用方法慢了100倍,你可以直接调用或通过C#的委托来实现。

16、使用JavaScript或Boo语言时,你最好确定变量的类型,不要使用动态类型,这样会降低效率,你可以在脚本开头使用#pragmastrict 来检查,这样当你编译你的游戏时就不会出现莫名其妙的错误了。

相关文章
|
2天前
|
存储 搜索推荐 C#
Unity编辑器扩展
Unity编辑器扩展
9 0
|
5月前
|
JSON C# 图形学
Unity——LitJSON的安装
Unity——LitJSON的安装
171 0
|
10月前
|
数据可视化 JavaScript 前端开发
unity
Unity是一款广泛应用于游戏开发和虚拟现实领域的强大游戏引擎,它提供了一个全面的开发工具集,使开发者能够创建出令人惊叹的交互式体验。本文将介绍Unity引擎的特点、功能和应用领域,并探讨其为游戏开发者和创作者带来的潜力。
|
图形学
Unity 之 超级实用的小技巧
你不知道却超好用的使用Unity使用技巧
142 0
Unity 之 超级实用的小技巧
|
图形学 容器
有趣而又被忽略的Unity技巧
一个常见的工作情景是我们在调整场景内的某些组件参数时,没有注意到自己是在Play Mode的模式下进行的,从而导致修改没有被保存下来。这个问题的关键在于是我们没有意识到自己已经处在Play Mode,如果我们能够在修改参数的时候,清楚的意识到自己处于Play Mode,那么我们自然可以通过Copy Component来保存数据或者是选择在Editor Mode进行修改。
973 0
|
算法 测试技术 图形学
unity的一些重要技巧
统一所有的模型的面朝向(Z轴正向或者反向) 对于所有具有面朝向的对象(例如角色)都应该遵守这一条。在统一面朝向的前提下,很多算法可以简化。 在开始就把Scale搞正确 请美术把所有导入的缩放系数设置为1,并且把他们的Transform的Scale设置为1,1,1。
955 0
|
图形学 Windows
Unity小技巧介绍
技巧一为字段声明的代码中加上[Tooltip(“XX”)]属性声明,在检视面板中,当鼠标悬停在字段名上,会出现Tooltip中指定的提示信息,让策划人员能更好地理解字段代表的意思。技巧二在层级视图中选中游戏对象,按快捷键Shift + Alt + A可以快速设置对象激活状态。
1195 0
|
图形学 Ubuntu