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的值从而控制积雪方向,即哪个方向上需要积雪。

shader 积雪效果shader 积雪效果 Unity小林 发布了22 篇原创文章 · 获赞 0 · 访问量 373 私信 关注
上一篇:Snowflake Snow Snowflakes POJ - 3349(字符串的最小表示法)


下一篇:习题 7:更多的打印