netgrind

Ripple Shader

Jul 8th, 2014
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. //ripple effect on the y axis
  2. //uses world space too :D
  3. //by Cale Bradbury (@netgrind)
  4. //use for whatever wherever whenever
  5. Shader "Ripple Ring" {
  6. Properties {
  7. _MainTex("Texture", 2D) = "white"{}
  8. _x ("Freq-Phase-Amp-Speed",Vector) = (0,0,0,0)
  9. }
  10. Category{
  11. Blend SrcAlpha OneMinusSrcAlpha
  12. AlphaTest Greater 0.5
  13. Tags {"Queue"="AlphaTest"}
  14. SubShader {
  15. Pass {
  16.  
  17. CGPROGRAM
  18. #pragma vertex vert
  19. #pragma fragment frag
  20. #include "UnityCG.cginc"
  21. float4 _x;
  22. sampler2D _MainTex;
  23. struct appdata {
  24. float4 vertex : SV_POSITION;
  25. float4 tex : TEXCOORD0;
  26. };
  27. struct v2f {
  28. float4 pos : SV_POSITION;
  29. float2 uv : TEXCOORD0;
  30.  
  31. };
  32.  
  33. v2f vert(appdata v) {
  34. v2f o;
  35. float4 vert = mul(_Object2World, v.vertex);
  36. float deg = atan2(vert.x, vert.z);
  37. float dis = length(vert.xz);
  38. dis += sin(vert.y*_x.x+_x.y+_Time.y*_x.w)*_x.z;
  39. v.vertex.xz = float2(sin(deg)*dis,cos(deg)*dis);
  40. o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
  41. o.uv = v.tex;
  42. return o;
  43. };
  44. half4 frag(v2f i) : COLOR {;
  45. return tex2D (_MainTex, i.uv);
  46. };
  47.  
  48.  
  49. ENDCG
  50. }
  51. }
  52. }
  53. Fallback "VertexLit"
  54. }
Advertisement
Add Comment
Please, Sign In to add comment