WPF 의 Shazzam shader editor 를 보고 포팅 하였다.
데모 (윈도우):
Surface 쉐이더 이용
Shader "Custom/Circle_Transition" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _SubTex("sub tex" , 2D) = "white"{} _Progress("progress" , float) = 0 _FuzzyAmount("fuzzy" , float) = 0 _CircleSize("circle size" , float) = 1 _Center("center xy" , vector) = (1,1,1,1) } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert sampler2D _MainTex; sampler2D _SubTex; float _Progress; float _FuzzyAmount; float _CircleSize; float4 _Center; struct Input { float2 uv_MainTex; float4 Color; float3 position; }; void surf (Input IN, inout SurfaceOutput o) { float radius = - _FuzzyAmount + _Progress + (_CircleSize + 2.0 + _FuzzyAmount); float fromCenter = distance(IN.uv_MainTex , _Center); float distFromCircle = fromCenter - radius; float4 c1 = tex2D(_MainTex , IN.uv_MainTex); float4 c2 = tex2D(_SubTex , IN.uv_MainTex); float p = saturate((distFromCircle + _FuzzyAmount)/(2.0 + _FuzzyAmount)); float4 result = lerp(c2 , c1 , p); half4 c = result;//(1,1,1,1);//tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" } |
'unity3d' 카테고리의 다른 글
프로젝트의 파일을 빌드시 Export 하기 (0) | 2014.03.10 |
---|---|
[Shader] Circle Transition + MousePosition (0) | 2014.02.21 |
[Shader] Circle Transition (0) | 2014.02.21 |
[Shader]TriBlend + Circle (0) | 2014.02.20 |
[메모] 유니티 Cg Shader 참고 (0) | 2014.02.20 |
[메모]Unity3d 다른 GameObject 의 Script Component 접근하기 (1) | 2013.12.06 |