- //对主纹理采样
- fixed4 col = tex2D(_MainTex, i.texcoord);
- //对噪波贴图进行采样,取R值
- float ClipTex = tex2D (_DissolveTex, i.texcoord/_Tile).r;
- //获取裁剪量
- float ClipAmount = ClipTex - _Amount;
- if(_Amount > 0)
- {
- //噪波图中R通道颜色值低于外部量_Amount,则被裁剪
- if(ClipAmount < 0)
- {
- clip(-0.1);
- }
- //然后处理没被裁剪的值
- else{
- if(ClipAmount < _DissSize)
- {
- //针对没被裁剪的点,如果裁剪量小于预溶解范围则使用lerp函数做渐变处理
- float4 finalColor=lerp(_DissColor,_AddColor,ClipAmount/_DissSize)*2;
- //将获得的渐变颜色与主颜色叠加融合
- col = col * finalColor;
- }
- }
- }
|