123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- Shader "Custom/WaveSprite"
- {
- Properties
- {
- _MainTex ("Sprite Texture", 2D) = "white" {}
- _Amplitude ("Wave Amplitude", Float) = 0.05
- _Frequency ("Wave Frequency", Float) = 10
- _Speed ("Wave Speed", Float) = 2
- }
- SubShader
- {
- Tags { "RenderType"="Opaque" "Queue"="Transparent" }
- LOD 100
- Pass
- {
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #include "UnityCG.cginc"
- struct appdata_t
- {
- float4 vertex : POSITION;
- float2 uv : TEXCOORD0;
- };
- struct v2f
- {
- float2 uv : TEXCOORD0;
- float4 vertex : SV_POSITION;
- };
- sampler2D _MainTex;
- float _Amplitude;
- float _Frequency;
- float _Speed;
- //float _Time;
- v2f vert (appdata_t v)
- {
- v2f o;
- float wave = sin(v.vertex.x * _Frequency + _Time * _Speed) * _Amplitude;
- v.vertex.y += wave;
- o.vertex = UnityObjectToClipPos(v.vertex);
- o.uv = v.uv;
- return o;
- }
- fixed4 frag (v2f i) : SV_Target
- {
- return tex2D(_MainTex, i.uv);
- }
- ENDCG
- }
- }
- }
|