Unity3D笔记(八)简单优化(一)

、unity自身组件:遮挡剔除(Occlusion Culling):当物体被送进渲染流水之前,将视锥以内看不到的物体进行剔除,减少每帧的渲染量,提高渲染性能。

1.1 步骤

a、创建Plane,放上Cube作为游戏物体,设置为静态。

b、window面板下找到Occlusion Culling组件,object中选择烘焙的物体,bake面板中点击bake(bake前先保存场景!!!!!

缺点:遮罩的是camera看不到的物体。

二、InstantOC插件

2.1 步骤

1.创建层

2.为游戏物体指定层(将参与遮挡剔除)与标签(将自动附加 IOClod脚本)

3.物体添加碰撞器Collider组件

4.摄像机附加脚本IOCcam

属性

确保剔除物体显示正常的阴影。Layer mask:参与遮挡剔除的游戏对象层。

OC Tag:将为指定标签的游戏对象自动添加IOClod脚本对象。

Samples:每帧摄像机发射的射线数目。数量多剔除效果 好,但性能开销大。通常在150—500之间。

Rays FOV:射线视野,应大于摄像机视野Field of View。

View Distance:视图距离,射线长度。将影响摄像机Clipping Planes –Far 数值。

Hide Delay:延迟隐藏,当物体被剔除时延迟的帧数,建 议50—100之间。

•PreCullCheck:检查采集信息,建议勾选,可以提高剔除 效率。

•RealtimeShadows:实时阴影,如果场景需要实时阴影, 建议启用。

优点:减少渲染压力,优化GPU显示

缺点:需要消耗额外CUP

LOD多细节层次:

步骤

1.创建层

2.创建空物体并将模型添加到其中,命名为:Lod_0  Lod_1  Lod_2

3.为父物体指定层与标签

4.父物体或子物体添加碰撞器组件

5.摄像机附加脚本IOCcam

属性

Lod1 distance:摄像机到物体距离小于当前距离时,使 用Lod_0模型。

Lod2 distance:摄像机到物体距离大于Lod1且小于当前 距离时,使用Lod_1模型,大于当前值使用Lod_2模型。

LodMargin:LOD边缘,如果物体在LOD各阶段过渡时发 生闪烁,尝试提高当前值。

缺点:消耗CPU判断距离、占用内存、需要三个模型(付费的不需要三个)

适用:高面模型比较多、有远近变化

性能优化:

CPU、渲染、内存

以上方式均需要给物体添加collider组件!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先介绍下draw call(这个东西越少你的游戏跑的越快): 在游戏中每一个被展示的独立的部分都被放在了一个特别...
    杨夏MX阅读 13,413评论 0 17
  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 13,202评论 3 89
  • 更新:【面试题含答案】http://bbs.9ria.com/thread-288394-1-1.html 高频问...
    好怕怕阅读 4,793评论 3 52
  • 初夏时间,小城的傍晚是祥和的 滨河路微风习习 河堤上一些不知名的小草,浅浅地笑着 小虫呢喃,鸟儿啾啾 有夜萤轻轻拂...
    gezhe1967阅读 329评论 4 5
  • 喧闹后的安静都剩下孤独的我 患得患失的青春总那么不知所措 那次爱过以后都明白太多 每次笑靥沿着悲伤重蹈覆辙 省悟后...
    江春入旧年阅读 111评论 0 0