unity(51)
-
0507 쉐이더 Diffuse Wraping
이 쉐이더를 쓰려면 ramp texture가 따로 필요하다. 그냥 구글에서 아무 이미지나 다운 받아서 쓰기. 빛 공식으로 쓰이는 노멀과 라이트 벡터의 내적을 uv로 사용한다. 저 uv색 대신 ndotl을 넣으면 Shader "Custom/DiffuseWarp" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _RampTex("Ramp", 2D) = "white" {} _BumpMap("Normal Map",2D) = "bump"{} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf _Warp noambient #pragma target 3.0 samp..
2021.05.07 -
0507 쉐이더 툰 그래픽 만들기
☆투 패스로 외곽선 만들기 Shader "Custom/toon" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _LineThickness("Line Thickness",Range(0.001,0.01)) = 0.01 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 Cull Front CGPROGRAM #pragma surface surf _NoLight vertex:vert noshadow noambient sampler2D _MainTex; float _LineThickness; void vert(inout appdata_full v) { //노말의 방향으로 늘어났다. v.vertex.xyz = v.v..
2021.05.07 -
0506 쉐이더 블린퐁
하프벡터 : normalize (Light V+View V) N과 1 사이의 각을 구하는 공식 > 블린퐁 공식 Shader "Custom/BlinnPhong" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _Bump("Normal Map", 2D) = "bump" {} } SubShader { Tags { "RenderType" = "Opaque" } LOD 200 CGPROGRAM #pragma surface surf _MyLambert #pragma target 3.0 sampler2D _MainTex; sampler2D _Bump; struct Input { float2 uv_MainTex; float2 uv_Bump; }; void surf..
2021.05.06 -
0506 쉐이더 Rim Light + Hologram
역광 Rim Light 프레넬 공식을 이용해서 빛의 반사율을 계산한다. Shader "Custom/test" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _BumpMap("Normal", 2D) = "bump" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM #pragma surface surf Standard fullforwardshadows #pragma target 3.0 sampler2D _MainTex; sampler2D _BumpMap; struct Input { float2 uv_MainTex; float2 uv_BumpMap; float3 viewDir; }; v..
2021.05.06 -
0506 쉐이더 라이트닝 연산
물리 벡터 : 방향+크키 수 벡터 : 위치 각각의 버텍스에도 벡터를 가지고 있다. 노멀벡터 - 조명벡터 = 밝기가 계산된다. (-1이면 가장 어두움) docs.unity3d.com/Manual/SL-SurfaceShaders.html Unity - Manual: Writing Surface Shaders Vertex and fragment shader examples for the Built-in Render Pipeline Surface Shaders and rendering paths Writing Surface Shaders In the Built-in Render Pipelne, Surface Shaders are a streamlined way of writing shadersA program ..
2021.05.06 -
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