Unity URP shader之如何实现半透明物体的阴影

半透明物体的阴影现实中也应该是淡化过的,如何实现这种效果?

渲染方案:使用内置的noise贴图来clip阴影。

代码可参考:

float4 vpos = input.positionCS;
half alphaRef = SAMPLE_TEXTURE3D(_DitherMaskLOD,sampler_DitherMaskLOD, float3(vpos.xy * 0.25, BaseAlpha * 0.9375)).a;
clip( alphaRef - 0.01 );

 

效果如下(左图为原始阴影,右图为处理过的阴影):

 

转载请注明出处:https://www.cnblogs.com/jietian331/p/17117668.html

 

posted @ 2023-02-13 20:10  孤独の巡礼  阅读(475)  评论(0编辑  收藏  举报