-
05/06 유니티 쉐이더 라이트 Rim Light유니티/쉐이더 2021. 5. 6. 15:06
림 라이트(Rim Lighting)
역광
프레넬 공식Shader "Custom/RimLight" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _BumpMap ("NormalMap", 2D) = "bump" {} _RimColor ("RimColor", Color) = (1,1,1,1) _RimPower ("RimPower", Range(1, 10)) = 1 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert noambient #pragma target 3.0 sampler2D _MainTex; sampler2D _BumpMap; float4 _RimColor; float _RimPower; struct Input { float2 uv_MainTex; float2 uv_BumpMap; float3 viewDir; }; void surf (Input IN, inout SurfaceOutput o) { fixed4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap)); float rim = saturate(dot(o.Normal, IN.viewDir)); o.Emission = pow(1 - rim, _RimPower) * _RimColor.rgb; o.Alpha = c.a; } ENDCG } FallBack "Diffuse" }
'유니티 > 쉐이더' 카테고리의 다른 글
05/07 유니티 쉐이더 Diffuse Warping (0) 2021.05.07 05/06 유니티 쉐이더 라이트 lambert와 half-lambert 연습 (0) 2021.05.06 05/04 유니티 쉐이더 노멀 맵(범프 매핑) (0) 2021.05.04 05/04 유니티 쉐이더 램버트, 블린퐁, 스탠다드 (0) 2021.05.04 05/04 유니티 쉐이더 Smoothness 연습 (0) 2021.05.04