当前位置:   article > 正文

unity 3d 实现遮挡剔除效果_shader 遮挡剔除 unity

shader 遮挡剔除 unity

目录

声明:

1.首先创建Unilt Shader Graph 

2.设置Alpha透明通道

3)添加实心填充效果

4.编辑渲染管线


声明:

本教程学习均来自U3D中文课堂麦扣老师

1.首先创建Unilt Shader Graph 

2021版创建步骤:

右击文件夹->create->Shader Graph->URP->Unilt Shader Graph

2.设置Alpha透明通道

1)在右侧Graph Inspector的Graph Settings中勾选Alpha Clipping以方便设置Alpha透明通道,并在在空白处右击新建Create Node 输入选择Multiply,利用该乘法可以将颜色加入到费尼尔现象当中。

               

2)为Alpha的透明设置颜色输出

在左侧Occlusion Shader点击"+"并选择Color,将"Color"控件拖动至编辑框空白处中,单击该控件,于右侧Graph Inspector中的Node Settings下的Default中设置相应的颜色。

并将对应的控件和输出相连接,如图所示:

3)添加实心填充效果

1)为费尼尔现象再添加一个噪点的效果类似于实心填充,在空白处右键新建在Create Node中输入选择Dither

我们可以在x处左右拖动,观察到可以用参数x的数值在调整实心填充的效果。于是我们可以添加一个变量。

2)在Occlusiton Shader中单击"+"添加Float,添加一个变量,想我们刚刚创建“Color”控件一样,将该控件拖动至编辑框的空白处。单击为它设置数值,并向如下图一样进行关联。

4.编辑渲染管线

回到游戏编辑界面,对渲染管线进行编辑。默认在Pipeline Settings中的Universal Render Pipeline Asset_Renderer

 

在Inspector中单击Add Renderer Feature->Render Objevts(Experimental),在Material中选择刚刚我们创建编辑的"Occlusion"效果,导入到渲染管线中。

这里我勾选深度"Depth",并将深度比例"Depth Test"设置为Greater,意味着更远的深度的效果,比如我们将人物Player移动至物体后可以实现"Occlusion"透明的效果。

 切换至game页面,我们可以发现我们想要的透明剔除效果已经实现了!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/580775
推荐阅读
相关标签
  

闽ICP备14008679号