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组件!

你可能感兴趣的:(Unity3D笔记(八)简单优化(一))