InstantOC(对象渲染---游戏优化)

一、渲染管线

CPU做运算, GPU做图像处理

流程解释

CPU优先判断哪些物体需要进行渲染(摄像机视锥以内的物体进行渲染)【准备渲染数据】————》Untity图像API判断当前操作环境————》GPU将CPU的数据进行渲染————》显卡获取顶点数据————》由点成线在成面————》计算每一个面的像素————》对每一个像素进行上色————》写入到显卡缓存中

 

 

缓存

Draw Call:每一帧渲染物体的次数(游戏面板的state状态)

二、occlusion Culling(遮挡剔除)

即时遮挡剔除:当物体被送进渲染流水线之前,将摄像机角内看不到的我物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。

 

使用第三方插件:inseantOC

原理:在摄像机的视锥以内发射多条射线,照射在对应层级的物体之上,未照到的物体不进行渲染

属性

优缺点

优:将摄像机角内看不到的我物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。

 

缺:cpu会存在额外开销

使用性

在场景中存在大量且密集的物体时使用遮挡剔除

 

三、LOD(多细节层次)Lenvels of Detail

描述:lod技术指根据物体模型的节点在显示环境中所处位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,重而获得高效率的渲染运算(远模型low,近就精细)【减少的3角面数和顶点数】

准备3个模型,精模,中模,低模

名字为lod_0 lod_1 lod_2

步骤

1.创建层

2.创建空物体并将模型添加到其中,命名为:lod_0,lod_1,lod_2

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

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

5.摄像机附加脚本IOCcam

优:减少渲染开销,加快物体渲染速度

 

缺:增加内存占用量

 

实用性:存在高精度的物体模型

原文地址:https://www.cnblogs.com/LanHai12/p/15258137.html