Shader "Test"
{
Properties{}
CGINCLUDE
#include "UnityCG.cginc"
float box(float2 st, float size)
{
// 中心揃えにする四角形描画
size = 0.5 + size*0.5;
st = step(st, size) * step(1 - st, size);
return st.x * st.y;
}
float wave(float2 uv, float n)
{
// 0.5なら中心が原点
float offset = 0.5;
float speed = 10;
float waveNum = 3;
float2 st = (floor(uv * n) + offset) / n;
float d = distance(offset, st);
// (1+ ~~~)*0.5は-1 ~ 1 => 0 ~ 1に正規化する処理
return (1 + sin(d * waveNum- _Time.y * speed)) * 0.5;
}
fixed4 frag(v2f_img i) : SV_Target
{
float n = 10;
return wave(i.uv, n);
}
ENDCG
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
ENDCG
}
}
}