统一材质实现消融效果

  

本文实例为大家分享了统一材质实现消融效果的具体代码,供大家参考,具体内容如下

  

效果图:

  

统一材质实现消融效果

  

材质代码:

     //注意:升级替换mul (UNITY_MATRIX_MVP, *)”与“UnityObjectToClipPos (*)”      材质“定制/EdgeColo”{   属性   {   _MainTex(“纹理”,2 d)=鞍咨眥}   _NoiseTex(“噪音”,2 d)=鞍咨眥}   _Threshold(“阈值”,范围(0.0,1.0))=0.5   _EdgeLength(边缘长度、范围(0.0,0.2))=0.1   _EdgeColor(“边缘颜色”,颜色)=(1,1,1,1)   }   SubShader   {   标记{“队列”=凹负巍薄癛enderType”=安煌该鳌眪      通过   {   剔除掉//要渲染背面保证效果正确      CGPROGRAM   # pragma顶点绿色   # pragma片段的破片      # include“UnityCG.cginc”      struct appdata   {   float4顶点:位置;   float2紫外线:TEXCOORD0;   };      struct v2f   {   float4顶点:SV_POSITION;   float2 uvMainTex: TEXCOORD0;   float2 uvNoiseTex: TEXCOORD1;   };      sampler2D _MainTex;   float4 _MainTex_ST;   sampler2D _NoiseTex;   float4 _NoiseTex_ST;   浮动_Threshold;   浮动_EdgeLength;   fixed4 _EdgeColor;      v2f绿色(appdata v)   {   v2f o;   o。顶点=UnityObjectToClipPos (v.vertex);   o。uvMainTex=TRANSFORM_TEX (v。紫外线、_MainTex);   o。uvNoiseTex=TRANSFORM_TEX (v。紫外线、_NoiseTex);   返回啊;   }      fixed4碎片弹(v2f我):SV_Target   {//镂空   固定断路=tex2D (_NoiseTex i.uvNoiseTex) r;   剪辑(断路_Threshold);//边缘颜色   如果(断路- _Threshold & lt;_EdgeLength)   返回_EdgeColor;      fixed4坳=tex2D (_MainTex i.uvMainTex);   返回上校;   }   ENDCG   }   }   }   之前      

使用方法:建一个材质球,选择此材质,然后选择一个噪声图(即:噪声),最后修改阈值和EdgeLength参数即可看到效果。

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

统一材质实现消融效果