전체 글(164)
-
0504 쉐이더 커스텀 라이트 Lambert, BlinnPhong, Standard
램버트 : 스페큘러 공식이 없고, 밝고 어두움만 표현된다. 가볍고 저사양 기계에서도 잘 돌아간다. 더보기 Shader "Custom/lambert" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Lambert sampler2D _MainTex; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { fixed4 c = tex2D (_MainTex, IN.uv_MainTex) ; o.Albedo = c.rgb;..
2021.05.04 -
0504 쉐이더 특정 부분만 반짝거리게 하기
방법 #1. Shader "Custom/rock" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _MainTex2("Albedo (RGB)", 2D) = "white" {} _BumpMap("Normal Map",2D) = "bump"{} _Glossiness ("Smoothness", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType"="Opaque" } CGPROGRAM #pragma surface surf Standard sampler2D _MainTex; sampler2D _MainTex2; sampler2D _BumpMap; struct Input { float2 uv_MainTex; float2 ..
2021.05.04 -
0504 normal texture + occlusion
Normal 매핑 : 로우 폴리곤의 그래픽 환경에서 하이 폴리곤의 입체감/질감을 구현하는 방법 노멀맵은 보통 텍스쳐가 따로 있다. Shader "Custom/sphere" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _BumpMap("Normal Map", 2D) = "bump" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 } SubShader { Tags { "RenderType"="Opaque" } CGPROGRAM #pragma surface surf Standard sampler2D _MainTex; sampler2D _Bum..
2021.05.04 -
0504 버텍스에 컬러 입히고 다중 텍스쳐 반영하기
Shader "Custom/test" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _MainTex2("Albedo (RGB)", 2D) = "white" {} _MainTex3("Albedo (RGB)", 2D) = "white" {} _MainTex4("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } CGPROGRAM #pragma surface surf Standard fullforwardshadows sampler2D _MainTex; sampler2D _MainTex2; sampler2D _MainTex3; sampler2D _MainTex4; str..
2021.05.04 -
0503 쉐이더를 이용해서 불 이펙트 만들기
Shader "Custom/Test" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Transparent" "Queue"="Transparent"} LOD 200 CGPROGRAM #pragma surface surf Standard alpha:fade sampler2D _MainTex; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutputStandard o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); o.Emission = c.rgb; o.Alpha = c.a; ..
2021.05.03 -
0503 쉐이더 UV
가로는 U, 세로는 V 둘을 시각적으로 나타내기 void surf (Input IN, inout SurfaceOutputStandard o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); o.Albedo = IN.uv_MainTex.x; } ENDCG void surf (Input IN, inout SurfaceOutputStandard o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); o.Albedo = IN.uv_MainTex.y; } ENDCG Shader "Custom/Test" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _V("v value",Range(-1,1)) ..
2021.05.03