Quadに貼り付けて、生成されたテクスチャをキャプチャして使用する
Shader "Custom/CreateNoise" { Properties{ _Frec("Frec",Range(1,200)) = 1 _Param("Param",Range(0,200)) = 1 _From("From",Range(0,1)) = 0 _To("To",Range(0,1)) = 1 } SubShader{ Pass{ Cull Front CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex:POSITION; float4 uv:TEXCOORD0; }; struct v2f { float4 pos:SV_POSITION; float4 uv:TEXCOORD0; }; float rand(float2 co){ return frac(sin(dot(co.xy ,float2(12.9898,78.233))) * 43758.5453); } v2f vert(appdata v){ v2f o; o.pos = UnityObjectToClipPos(v.vertex); o.uv = v.uv; return o; } sampler2D _MainTex; float _Frec; float _Param; float _From; float _To; float4 frag(v2f i) :SV_Target { float y = floor((i.uv.y+_Param)*_Frec); float w = rand(y); if(w < _From) w = _From; if(w > _To) w = _To; if(i.uv.x < w) return float4(1,1,1,1); return float4(0,0,0,1); } ENDCG }//Pass }//SubShader FallBack "Diffuse" }