unity InsatntOc和Instant Occlusion Culling
一、InsatntOc**(插件)**
1.渲染管线流程:(下面就是不说人话)
顶点处理:接受模型顶点数据;坐标系转换
图元装配:组装面,连接相邻的顶点,绘制为三角面
光栅化:计算三角面上的像素,并为后面着色阶段提供合理的插值参数
像素处理:对每个像素区域进行着色,写入到缓存中
缓存:(又开始不说人话)
一个存储像素数据的内存块,最重要的缓存是帧缓存与深
度缓存;
帧缓存:存储每个像素的色彩,即渲染后的图像,
帧缓存常常在显存中,显卡不断读取并输出到屏幕中;
深度缓存z-buffer :存储像素的深度信息,即物体到摄像
机的距离;
光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素 颜色被写到帧缓存,并替换深度缓存; n
2. Instant 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:实时阴影,如果场景需要实时阴影,建议启用,确保剔除物体显示正常阴影
3.LOD(Level of details,多细节层次):
LOD技术指根据物体模型的节点在显示环境中所处的位置
和重要度,决定物体渲染的资源分配,降低非重要物体的面数
和细节度,从而获得高效率的渲染运算。(位置近就是用细节度较高的精细模型反之就降低分配资源)
步骤:
1.创建层;
2.创建空物体并将模型添加到其中;
3.为父物体指定层与标签;
4.父物体或子物体添加碰撞器组件(Box Collider);
5.摄像机附加脚本IOCcam;
属性:
1.Lod 1 distance :摄像机到物体距离小于当前距离时,使
用Lod_ 0模型;
2.Lod 2 distance :摄像机到物体距离大于Lod1且小于当前
距离时,使用Lod_ 1模型,大于当前值使用Lod_ 2模型;
3. Lod Margin : LOD边缘,如果物体在LOD各阶段过渡时发
生闪烁,尝试提高当前值。
本文地址:https://blog.csdn.net/qq_45796638/article/details/110136736