ワイプエフェクト - saitocastel1900/UnityShader GitHub Wiki
- 仕組みとしては、中心点から一定の距離は描画しないようにするだけ
- 左下が基準なので、0.5を足すことで画面の中心に基準をさせている
- 画面の比率に応じて、円の大きさを修正している
Shader "Unlit/WipeUnlitShader"
{
Properties
{
_Radius("Radius", Range(0, 1)) = 0.5
}
SubShader
{
Tags
{
"RenderType"="Opaque"
}
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#include "UnityCG.cginc"
float _Radius;
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
fixed4 frag(v2f_img i) : COLOR
{
i.uv -= fixed2(0.5, 0.5);
i.uv.x *= 16 / 9.0;
if (distance(i.uv,fixed2(0, 0)) < _Radius)
{
discard;
}
return fixed4(0, 0, 0, 0);
}
ENDCG
}
}
}