Unity3D 移动开发代码优化

1. 尽量避免每帧处理

比如:

function Update() { DoSomeThing(); }

可改为每5帧处理一次:

function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } }

2. 定时重复处理用 InvokeRepeating 函数实现
比如,启动0.5秒后每隔1秒执行一次 DoSomeThing 函数:

function Start() { InvokeRepeating("DoSomeThing", 0.5, 1.0); }

3. 优化 Update, FixedUpdate, LateUpdate 等每帧处理的函数
函数里面的变量尽量在头部声明。
比如:

function Update() { var pos: Vector3 = transform.position; }

可改为

private var pos: Vector3; function Update(){ pos = transform.position; }

4. 主动回收垃圾
给某个 GameObject 绑上以下的代码:

function Update() { if(Time.frameCount % 50 == 0) { System.GC.Collect(); } }

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

6. 压缩 Mesh
导入 3D 模型之后,在不影响显示效果的前提下,最好打开 Mesh Compression。
Off, Low, Medium, High 这几个选项,可酌情选取。

7. 避免大量使用 Unity 自带的 Sphere 等内建 Mesh
Unity 内建的 Mesh,多边形的数量比较大,如果物体不要求特别圆滑,可导入其他的简单3D模型代替。

8. 优化数学计算
比如,如果可以避免使用浮点型(float),尽量使用整形(int),尽量少用复杂的数学函数比如 Sin 和 Cos 等等

转载于:https://www.cnblogs.com/wayne1984/archive/2012/08/08/2628055.html

【Unity3d】移动开发代码优化相关推荐

  1. Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生

    一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...

  2. android+Unity3D游戏开发之简单的物体运动

    android+Unity3D游戏开发之简单的物体运动 其实这篇也是转载的,真的感觉对于我们初学者来说很不错的,不信你看看嘛;原创链接:http://bbs.9ria.com/thread-98192 ...

  3. 从一点儿不会开始——Unity3D游戏开发学习(一)

    一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...

  4. Unity3D游戏开发之自由视角下的角色控制

    秦元培的博客:http://blog.csdn.net/qinyuanpei/article/details/39125353 1,[Unity3D]Unity3D游戏开发之角色控制漫谈 2,[Uni ...

  5. [转]Unity3D新手引导开发手记

    直接跳转吧  Unity3D新手引导开发手记 看到还不错就直接转过来了,我是有多懒啊

  6. Unity3D游戏开发之仿仙剑奇侠传一2D游戏 (一)

    今天要和大家分享的是基于Unity3D开发2D游戏,博主一直钟爱于国产武侠RPG,这个我在开始写Unity3D游戏开发系列文章的时候就已经说过了,所以我们今天要做的就是利用Unity3D来实现在2D游 ...

  7. Unity3D游戏开发之邂逅Unity3D

    从今天起,博主决定要在毕业前把大学里想学的东西都学完.所以,从今天起,大家将看到由我为大家带来的Unity3D系列文章,让我们一起来学习Unity3D游戏开发吧! 在正式今天的文章之前,博主想简单介绍 ...

  8. Unity3D游戏开发介绍

    Unity3D游戏开发介绍 Unity3D Unity是实时3D互动内容创作和运营平台.包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助Unity将创意变成现实. Unity平台提供一整 ...

  9. Kinect结合Unity3D引擎开发体感游戏(二)

    这篇接着<Kinect结合Unity3D引擎开发体感游戏(一)>,时隔3个月才出这篇,在此期间还有不少机油们,要求出续集,期间在公司那边事情太多,一直帮公司前人做的项目擦屁股,到目前为止, ...

  10. [Kinect]Kinect结合Unity3D引擎开发体感游戏

    最近公司项目需要做科技馆的体感游戏,以前也没接触过游戏,虽然以前自己也是想做游戏,我想大部分都是学编程出来来做游戏,哈哈(请允许我淫笑一下,终于可以做这方面).虽然以前没接触过体感游戏,看到的体验也是 ...

最新文章

  1. Android gallery详解
  2. libtorch demo
  3. python 字符串切割例题_Python字符串及练习题
  4. Vue源码解析之AST语法树(三)
  5. 《机器学习》 周志华学习笔记第二章 模型评估与选择(课后习题)
  6. :focus-within的冒泡触发
  7. H.264中IDR帧和I帧区别
  8. 字符串处理问题[2]:将一个数字型…
  9. php 手写签批 手机办公_手写签批 打造无纸化办公的完美替代
  10. [原创]jQuery插件Realtime-Modifier正式发布!
  11. 基于64QAM的LDPC编译码算法
  12. MDK 使用 ST-Link 下载出现 target dll has been cancelled 的错误的解决方法
  13. 视觉slam十四讲——求解相机的位姿
  14. 牛顿的广义二项式定理---微积分推倒的开始
  15. 技术债治理的三条原则
  16. 划分数,分苹果问题·计算机算法·动态规划·C/C++
  17. 自动驾驶中图像与点云融合的深度学习研究综述
  18. SQL之having关键字用法
  19. windows服务器署站点,Windows Server配置学习心得-web服务器的搭建和部署,配置一个BLOG站点...
  20. JVM堆内存介绍、垃圾收集算法、垃圾回收器汇总

热门文章

  1. 佳能MG2580S清零
  2. 文库网站开发,文库网站定制,仿百度在线文档网站建设
  3. 【数据库】NoSQL数据库简介
  4. 中国姓氏大全(常见508个,罕见740个)
  5. 大数据Hadoop(六):全网最详细的Hadoop集群搭建
  6. 【OpenCV】配置OpenCV教程,OpenCV入门
  7. MAC常用快捷键和命令
  8. 2022年9月中国数据库排行榜:榜眼、探花纷纷易主,AnalyticDB蝉联榜单十强
  9. AWVS 13 Docker版本(破解后)
  10. 查看游戏帧数:FPS的软件