一、渲染管线
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
优:减少渲染开销,加快物体渲染速度
缺:增加内存占用量
实用性:存在高精度的物体模型