渲染流程中有几次剔除

Posted 珞珈大胖强TURBO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染流程中有几次剔除相关的知识,希望对你有一定的参考价值。


在这里插入图片描述

1 视锥体剔除

Frustum Culling视锥体剔除只是不渲染摄像机视锥范围之外的物体,而被其他物体遮挡但依然在视锥范围之内的物体则不会被剔除。

2 遮挡剔除

Occlusion Culling遮挡剔除技术是指当一个物体被其他物体遮挡住而相对当前摄像机为不可见时,可以不对其进行渲染。

要使用遮挡裁剪,首先要打开Occlusion Culling面板,在Windows->Occlusion Culling选项中。

将需要进行遮挡裁剪的场景物体进行设置,选中右上角Static中的Occluder Static和Occludee Static两个选项。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sBiwkOC6-1620138448991)(D:\\强哥的文件\\Typroa素材\\20170712103457304)]

随后在Occlusion面板中有三部分内容,分别是Object、Bake和Visualization。
在Object选项中,我们可以设置遮挡方式,一般使用默认设置即可,如果使用了Occlusion Areas,在场景中如果未对Area进行设置,则默认为Area是整个场景。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S8gMnR9F-1620138448992)(D:\\强哥的文件\\Typroa素材\\20170712103943797)\\

如果是需要针对运动的物体实现遮挡剔除,则需要创建Occlusion Areas,将Occlusion Areas组件挂在空物体上即可,对Areas进行大小设置,在设置完成后选择Bake,便会对所选区域的Static物体进行Bake操作。在Occlusion Areas控件中需要勾选Is View Volume选项。为了创造实时可开启和可关闭的遮挡,Unity使用遮挡入口(Occlusion Portals)进行设置,可以将该脚本挂在Main Camera上。

3 屏幕正面(背面)剔除

默认情况下渲染引擎剔除了物体背面(相对于摄像机的方向)的渲染图元,而只渲染了物体的正面。如果我们想要得到双面渲染的效果,可以使用Cull 指令来控制需要剔除哪个面的渲染图元。在 Unity中,Cull指令的语法如下:

在这里插入图片描述

4 深度剔除

在这里插入图片描述

以上是关于渲染流程中有几次剔除的主要内容,如果未能解决你的问题,请参考以下文章

unity URP前向渲染流程以及获取屏幕空间UV和深度

[Unity Shader] 渲染管线流程

Unity渲染流程(渲染管线)(渲染流水线)

CocosCreater 教程(中)

三维图形显示流程

https基础流程