美文网首页
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