欢迎光临散文网 会员登陆 & 注册

Unity学习笔记 Vol.90 URP遮挡剔除

2021-11-30 13:34 作者:NXL2  | 我要投稿

    使用URP的自定义渲染过程,我们可以轻松创建遮挡剔除的效果。首先,我们创建一个ShaderGraph,选择Unlit Graph,命名为Occlusion。

ShaderGraph很简单,按上图连接就行了。

再创建一个材质,命名为Occlusion。

创建URP Asset如上图,如果Project Settings的Graphic没有设置,先设置好。

创建好URP Asset后,会送你一个UniversalRenderPipelineAsset_Renderer文件。

点击Add Renderer Feature按钮,按下图添加两个Feature。

以我的项目为例子,添加一个TrainsBehind和一个TrainFront,在Filter的LayerMask设置为我们想要遮挡剔除的Layer(之前单独设置一个专门的Layer)。

在TrainsBehind的Overrides的Material里面,设置刚才创建的Occlusion材质,再将Depth打勾,将Depth Test设置为Greater。在TrainsFront只要将LayerMask设置好,其它不用设置。

下面可以看到我的项目中,火车被遮挡的部分以Occlusion的材质显示出来。而没有遮挡的部分以正常的方式显示。

Unity学习笔记 Vol.90 URP遮挡剔除的评论 (共 条)

分享到微博请遵守国家法律