美文网首页
消融效果

消融效果

作者: LEO_青蛙 | 来源:发表于2020-06-07 13:43 被阅读0次
消融效果

GitHub项目地址

消融的原理:噪声纹理+clip透明度测试
(1)噪声纹理实现随机性
(2)clip函数实现透明度测试
1、基础实现

fixed4 frag (v2f i) : SV_Target
 {
     fixed cutout = tex2D(_NoiseTex, i.uvNoise).r;
     clip(cutout - _Threshold);

     fixed4 col = tex2D(_MainTex, i.uv);
     return col;
}

2、边缘纯颜色

fixed4 frag (v2f i) : SV_Target
{
     fixed cutout = tex2D(_NoiseTex, i.uvNoise).r;
     clip(cutout - _Threshold);

     //边缘颜色
     if(cutout - _Threshold < _EdgeLength)
           return _EdgeColor;

     fixed4 col = tex2D(_MainTex, i.uv);
     return col;
}

3、边缘两种颜色混合

fixed4 frag (v2f i) : SV_Target
{
     fixed cutout = tex2D(_NoiseTex, i.uvNoise).r;
     clip(cutout - _Threshold);

     //边缘颜色
     if(cutout - _Threshold < _EdgeLength)
     {
          fixed percent = (cutout - _Threshold) / _EdgeLength;
          return lerp(_EdgeStartColor, _EdgeEndColor, percent);
     }

     fixed4 col = tex2D(_MainTex, i.uv);
     return col;
}

4、边缘颜色混合物体颜色

fixed4 frag (v2f i) : SV_Target
{
     fixed cutout = tex2D(_NoiseTex, i.uvNoise).r;
     clip(cutout - _Threshold);

     //边缘颜色
     fixed percent = saturate((cutout - _Threshold) / _EdgeLength);
     fixed4 edgeColor = lerp(_EdgeStartColor, _EdgeEndColor, percent);

     fixed4 col = tex2D(_MainTex, i.uv);

     fixed4 result = lerp(edgeColor, col, percent);

     return fixed4(result.rgb, 1);
}

5、边缘使用渐变纹理

fixed4 frag (v2f i) : SV_Target
{
     fixed cutout = tex2D(_NoiseTex, i.uvNoise).r;
     clip(cutout - _Threshold);

     //边缘颜色
     fixed percent = saturate((cutout - _Threshold) / _EdgeLength);
     fixed4 edgeColor = tex2D(_RampTex, float2(percent, percent));

     fixed4 col = tex2D(_MainTex, i.uv);

     fixed4 result = lerp(edgeColor, col, percent);
     return fixed4(result.rgb, 1);
}

相关文章

  • 消融效果

    GitHub项目地址 消融的原理:噪声纹理+clip透明度测试(1)噪声纹理实现随机性(2)clip函数实现透明度...

  • 使用噪声

    消融效果 消融(dissolve)角色死亡,地图烧毁等效果。 _BurnAmount 用于控制消融程度,当值为0时...

  • Ⅹ使用噪声

    使用噪声 消融效果 消融(dissolve)效果常见于游戏中角色的死亡、地图烧毁等效果。 原理 要实现上图的效果,...

  • 有序的无序:unity shader噪声图以及消融效果的实现

    先上一张效果图: 这篇文章我准备写两部分: 使用噪声图在unity shader里实现物体消融的效果 消融是随机的...

  • 《Shader 入门精要》之消融效果

    其实这个也是 《Shader 入门精要里面的》,我单独把里面的消融部分提出来再看,其实思路就比较简单了。先提取噪声...

  • Unity Shader - 消融效果原理与变体

    基本原理与实现 主要使用噪声和透明度测试,从噪声图中读取某个通道的值,然后使用该值进行透明度测试。主要代码如下: ...

  • 使用噪声纹理制作消融效果

    噪声纹理(一张灰度图)采样得到其中噪声值(rgb中其中一个就行),使用这个值进行alphaTest或者其他用途 使...

  • 消融

    一、 消化着如落叶搬的思绪 不悲不喜 因为树亦如此 二、 一切淡淡 忽而歌声传来 不要睡去不要睡去不要笑得恍惚无力...

  • 消融

    路上的陌生人渐行渐远, 诗歌也唱到了最后一篇。 乌云告诉我们冰雪已不遥远, 太阳挣扎在天边, 白云游躺在山间。 深...

  • 消融

    消融 在烈日柔波中 恍惚消融的 是笑容 默然无言 也可见泪珠千斛 然而心也无伤痛 意也千重

网友评论

      本文标题:消融效果

      本文链接:https://www.haomeiwen.com/subject/cxhazhtx.html