美文网首页
Shader 学习之路-实现波光粼粼的Shader(十二)

Shader 学习之路-实现波光粼粼的Shader(十二)

作者: AnimeKing | 来源:发表于2019-05-25 13:44 被阅读0次

其实在游戏中,我们一般需要实现类似鱼有波光粼粼的效果的,下面我和大家一起学习实现这个效果。

1、新建Shader-Sparkling.shader文件,代码如下:

Shader "Custom/Shader-Sparkling" //Shader名称

 {

    Properties//属性块

    {

     _MainTex("Main Texture",2D)="white"{}//显示在检视面板的名称 类型 默认类型

    _SubTex("Sub Texture",2D)="white"{}

    _MainColor("Main Color",Color)=(1,1,1,1)

    }

    SubShader//子着色器

    {

      Pass

      {

        CGPROGRAM

        #pragma vertex vert// 定义顶点函数

        #pragma fragment frag//定义片元函数

        #include "UnityCG.cginc"

        sampler2D _MainTex;

        sampler2D _SubTex;

        float4 _MainColor;

        struct v2f

        {

        float2 sv_uv:TEXCOORD0;

        float4 sv_position:SV_POSITION;

        };

        struct a2i

        {

          float2 uv:TEXCOORD0;

          float4 position:POSITION;

        };

        v2f vert(a2i i)

        {

          v2f o;

          o.sv_position=UnityObjectToClipPos(i.position);

          o.sv_uv = i.uv;

          return o;

        }

        float4 frag(v2f v):SV_TARGET

        {

           float2 offset=float2(0,0);

           offset.x=_Time.y *0.25f;

           offset.y=_Time.y *0.25f;

           float4 subTex = tex2D(_SubTex,v.sv_uv+offset); 

           float4 mainTex = tex2D(_MainTex,v.sv_uv)+subTex;

           return mainTex*_MainColor;      

        }

        ENDCG

      }

    }

    FallBack "Diffuse"

}

2、运行效果如图:

相关文章

网友评论

      本文标题:Shader 学习之路-实现波光粼粼的Shader(十二)

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