zoukankan      html  css  js  c++  java
  • 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技术

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

  • 相关阅读:
    Pycharm 调试system-config-users
    只写了两行代码,为什么要花两天时间?
    为开源做贡献的6个技巧
    2020年10月编程语言排行榜
    全球最厉害的 14 位程序员
    6_38_二叉树的后序遍历非递归算法(和先序有些许不一样)
    6_37_二叉树的先序遍历非递归算法
    6_36_相似二叉树
    6_33_两个一维数组判断u是否为v的子孙
    6_34_扩展判断u是否为v的子孙
  • 原文地址:https://www.cnblogs.com/lmx282110xxx/p/10798659.html
Copyright © 2011-2022 走看看