shader 积雪效果

积雪方向和法线进行点积,如果大于积雪厚度值则改变该片元的输出颜色为雪的颜色

在Properties中添加:
_SnowColor(“snow color”,Color) = (1,1,1,1)
_Snow(“snow level”,Range(0,1)) = 0.5
_SnowDir(“snow dir”,Vector) = (0,1,0)

定义:
float4 _SnowColor;
float4 _SnowDir;
float _Snow;

在片元着色器输出颜色之前进行判断:
if (dot(worldNormal, _SnowDir.xyz) > lerp(1, -1, _Snow))
{
color.rgb = _SnowColor.rgb;
}
return color;

就可以完成简单积雪效果了。通过控制_SnowDir的值从而控制积雪方向,即哪个方向上需要积雪。

发布了22 篇原创文章 · 获赞 0 · 访问量 372

猜你喜欢

转载自blog.csdn.net/weixin_43839583/article/details/104094335