unity shader 水效果

Shader "Shader Forge/Fx_water_VX" {
    Properties {
        _NQ_Tex ("NQ_Tex", 2D) = "white" {}
        _NQ_pw ("NQ_pw", Float ) = 0.4
        _N_V ("N_V", Float ) = 1
        _N_U ("N_U", Float ) = 1
        _Diffuse ("Diffuse", 2D) = "white" {}
        _D_V ("D_V", Float ) = 1
        _D_U ("D_U", Float ) = 1
        _BS ("BS", Float ) = 5
        _BSa ("BSa", Float ) = 0.2
        _TEX ("TEX", 2D) = "white" {}
        _Alpha ("Alpha", Float ) = 0
        [HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
    }
    SubShader {
        Tags {
            "Queue"="Transparent"
            "RenderType"="Transparent"
        }
        Pass {
            Name "ForwardBase"
            Tags {
                "LightMode"="ForwardBase"
            }
            Blend SrcAlpha OneMinusSrcAlpha
            
            
            Fog {Mode Off}
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #define UNITY_PASS_FORWARDBASE
            #include "UnityCG.cginc"
            #pragma multi_compile_fwdbase_fullshadows
            #pragma exclude_renderers d3d11 xbox360 ps3 flash d3d11_9x 
            #pragma target 3.0
            uniform float4 _TimeEditor;
            uniform sampler2D _NQ_Tex; uniform float4 _NQ_Tex_ST;
            uniform float _NQ_pw;
            uniform sampler2D _Diffuse; uniform float4 _Diffuse_ST;
            uniform float _N_V;
            uniform float _N_U;
            uniform float _D_V;
            uniform float _D_U;
            uniform float _BS;
            uniform float _BSa;
            uniform sampler2D _TEX; uniform float4 _TEX_ST;
            uniform float _Alpha;
            struct VertexInput {
                float4 vertex : POSITION;
                float2 texcoord0 : TEXCOORD0;
            };
            struct VertexOutput {
                float4 pos : SV_POSITION;
                float2 uv0 : TEXCOORD0;
            };
            VertexOutput vert (VertexInput v) {
                VertexOutput o = (VertexOutput)0;
                o.uv0 = v.texcoord0;
                float4 node_3242 = _Time + _TimeEditor;
                float4 _TEX_var = tex2Dlod(_TEX,float4(TRANSFORM_TEX(o.uv0, _TEX),0.0,0));
                float node_3328 = ((abs((frac(((o.uv0+node_3242.g*float2(1,1)).r*_TEX_var.r))-0.5))*2.0)*_BS*_BSa);
                v.vertex.xyz += float3(node_3328,node_3328,node_3328);
                o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
                return o;
            }
            fixed4 frag(VertexOutput i) : COLOR {
/// Vectors:
// Lighting:
// Emissive:
                float4 node_3242 = _Time + _TimeEditor;
                float4 node_4049 = _Time + _TimeEditor;
                float2 node_1856 = ((i.uv0+node_3242.g*float2(0,0))+(node_4049.g*float2(_N_U,_N_V)));
                float4 _NQ_Tex_var = tex2D(_NQ_Tex,TRANSFORM_TEX(node_1856, _NQ_Tex));
                float2 node_5338 = ((_NQ_pw*_NQ_Tex_var.r*_NQ_Tex_var.g)+(i.uv0+node_3242.g*float2(0,0))+(node_4049.g*float2(_D_U,_D_V)));
                float4 _Diffuse_var = tex2D(_Diffuse,TRANSFORM_TEX(node_5338, _Diffuse));
                float3 emissive = _Diffuse_var.rgb;
                float3 finalColor = emissive;
                float4 _TEX_var = tex2D(_TEX,TRANSFORM_TEX(i.uv0, _TEX));
                return fixed4(finalColor,(_Diffuse_var.a*_TEX_var.g*_Alpha));
            }
            ENDCG
        }
    }
    FallBack "Diffuse"
    CustomEditor "ShaderForgeMaterialInspector"
}

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值