Unity性能优化

Unity的性能优化有很多需要注意的地方,包括代码优化,资源优化,GPU优化等等,在下面只是学习了最简单的几种。

层级细节LOD技术

这个说白了就是利用人眼看物体的距离,把一个物体做几个精细程度,近的时候就给他看精细程度高的,远的时候就给他看精细程度低的。

创建一个空物体,挂上LOD Group组件,把这3个资源分别拖到该组件下

注意:LOD 0-3分别表示精度(高中低),Culled表示不显示

遮挡剔除OcclusionCulling

当一个物体被其它物体遮挡住而相对当前摄像机不可见时,可以不对其进行渲染。

注意:遮挡剔除不同于视锥体剔除,视锥体剔除只是不渲染摄像机视锥范围之外的物体,而被其它物体遮挡但依然在视锥范围之内的物体不会被剔除。

选中要进行遮挡剔除的物体(所有Cube),勾选Occluder Static

打开Windows > Occlusion Culling  点击Bake进行烘焙

 运行结果:

光照贴图Lightmapping

游戏中的实时光照运算非常耗时,运用光照贴图技术,可以先计算场景内的光影效果产生的氛围,之后关闭光源,以保证游戏运行时光源达到最少。

将光源的模式设为Baked

选择其它物体,勾选Lightmap Static

选择Windows > Lighting > Settings ,进行烘焙

结果:我们关闭光源后,还是可以看到光的效果

Mesh合并

额,表示还没怎么懂

资源池-Object Pool技术

代码实现,比如捕鱼,要随时实例化和销毁子弹,这是很消耗性能的。我们可以专门拿一个文件来管理子弹,在这个文件中一次创建很多子弹,设置它们不可见。当实例化子弹的时候,遍历这些子弹,谁不可见就拿谁用,设置为可见,然后设置位置等信息,用完该销毁的时候不销毁,再设置为不可见就行了。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

前端性能优化 - 雅虎军规

无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的