Unity 场景优化插件InstantOC的原理及使用

InstantOC 场景优化插件

InstantOC( Instant Occlusion Culling)插件的中文名“即时遮挡剔除”,用于优化大场景。
在这里插入图片描述

渲染管线

渲染管线指图形数据在 GPU 上经过运算处理,最后输出到屏幕的过程。
在这里插入图片描述
**Draw Call 绘制调用(Batches):**每次引擎准备数据并通知 GPU 的过程。通俗讲,每帧调用显卡渲染物体的次数。Draw Call越大,渲染的次数越多。

在这里插入图片描述

顶点处理

顶点处理指接收模型顶点数据(CPU发数据),再进行坐标系转换。

图元装配

组装面:连接相邻的顶点,绘制为三角面。
在这里插入图片描述

光栅化

光栅化指计算三角面上的像素,并为后面着色阶段提供合理的插值参数
在这里插入图片描述

像素处理

像素处理指对每个像素区域进行着色,再写入到缓存中。

缓存

缓存指一个存储像素数据的内存块,最重要的缓存是帧缓存和深度缓存

帧缓存:存储每个像素的色彩,即渲染后的图像。帧缓存常常在显存中,显卡不断读取并输出到屏幕中。

深度缓存 z-buffer:存储像素的深度信息,即物体到摄像机的距离。光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存。

Occlusion Culling

即时遮挡剔除 Instant Occlusion Culling

Occlusion Culling 遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能。【笔试题】

**打开 Occlusion Culling 窗口的方法:**导航到顶部菜单,然后选择 Window — Rendering — Occlusion Culling。

步骤

1、创建层

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

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

4、摄像机附加脚本 IOCcam

属性

**Layer mask:**参与遮挡剔除的游戏对象层。

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

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

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

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

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

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

**Realtime Shadows:**实时阴影,如果场景需要实时阴影,建议启用,确保剔除物体显示正常的阴影。

LOD 多细节层次

多细节层次 Levels of Detail

LOD 技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值