shader溶解特效
来源:互联网 发布:淘宝网登录首页登录 编辑:程序博客网 时间:2024/04/20 00:57
前言:在游戏中间我们常常看见物体会慢慢消融,变为灰烬,这个效果可以用于人物的消失,毁灭.
代码:
Shader "Esfog/Dissolve" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _NoiseTex ("NoiseTex (R)",2D) = "white"{} _DissolveSpeed ("DissolveSpeed (Second)",Float) = 1 _EdgeWidth ("EdgeWidth",Range(0,0.5)) = 0.1 _EdgeColor("EdgeColor",Color) = (1,1,1,1) } SubShader { Tags { "RenderType"="Opaque" } Pass { CGPROGRAM #pragma vertex vert_img #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; uniform sampler2D _NoiseTex; uniform float _DissolveSpeed; uniform float _EdgeWidth; uniform float4 _EdgeColor; float4 frag(v2f_img i):COLOR { float DissolveFactor = saturate(_Time.y / _DissolveSpeed); float noiseValue = tex2D(_NoiseTex,i.uv).r; if(noiseValue <= DissolveFactor) { discard; } float4 texColor = tex2D(_MainTex,i.uv);//noiseValue - DissolveFactor,这个值表示溶解贴图上的R通道值和目前的溶解基准值相差多少//EdgeFactor越小表示离溶解时间越近,也就是说它边缘化的颜色成分越重 float EdgeFactor = saturate((noiseValue - DissolveFactor)/(_EdgeWidth*DissolveFactor)); float4 BlendColor = texColor * _EdgeColor; return lerp(texColor,BlendColor,1 - EdgeFactor); } ENDCG } } FallBack Off}
重点是这几行代码,设定DissolveFactor为阀值,如果小于阈值,就抛弃该片断
{
discard;
}
这几句代码是为了边缘颜色形成类似火燃烧的颜色.
float4 texColor = tex2D(_MainTex,i.uv);
//noiseValue - DissolveFactor,这个值表示溶解贴图上的R通道值和目前的溶解基准值相差多少
//EdgeFactor越小表示离溶解时间越近,也就是说它边缘化的颜色成分越重
float EdgeFactor = saturate((noiseValue - DissolveFactor)/(_EdgeWidth*DissolveFactor));
float4 BlendColor = texColor * _EdgeColor;
同时传一下noise图片
参考:参考链接:http://www.cnblogs.com/Esfog/p/DissolveShader.html
0 0
- shader溶解特效
- 【UE4 shader】溶解shader
- [Unity Shader]溶解效果
- Shader简单例子之溶解
- Unity Shader Example 7 (溶解)
- shader实例溶解,燃烧效果
- 模型分解(瓦解、溶解...)Shader
- Unity Shader-死亡溶解效果
- Unity Shader-死亡溶解效果
- Shader forge 屏幕效果、溶解
- shader编程学习(3)溶解
- Shader 做mesh简单的溶解效果
- 【UE4 shader】溶解后更换材质
- 卡牌特效Shader
- Unity Shader 闪光特效
- Unity Shader 一 激光特效Shader
- 【Unity&特效&Shader】模糊特效资料集合
- Unity Shader 三 卡通特效
- # Tomcat 多实例部署 教程
- 百万级别数据库优化技巧
- 讯飞语音开发之语音语音听写
- c#操作excel时出现COM异常,解决方法
- C语言实现单链表之约瑟夫环
- shader溶解特效
- 数据库SQL group by 详解
- 关于Android App的反编译
- 机器学习算法常用指标总结
- MyBatis快速入门
- Linux apache-activemq安装及配置
- Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
- 关于学习
- 图片相关的Utils