Noraml Extrusion Shader

폴리곤의 노멀벡터 방향으로 버텍스를 확장시키는 간단한 기법

3D 모델을 좀 더 통통하게 할 때(혹은 반대로) 사용


-------------------------------------------------------------

   v.vertex.xyz += v.normal * _Amount;

-------------------------------------------------------------


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Shader "Custom/NormalExtrusion" 
{
    Properties 
    {
        _MainTex ("Texture", 2D) = "white" {}
        _Amount ("Extrusion Amount", Range(-1.01.0)) = 0
    }
    
    SubShader 
    {
        Tags 
        { 
            "RenderType" = "Opaque" 
        }
    
        CGPROGRAM
        #pragma surface surf Lambert vertex:vert
        
        struct Input
        {
            float2 uv_MainTex;
        };
    
        float _Amount;
        
        void vert (inout appdata_full v)
        {
            v.vertex.xyz += v.normal * _Amount;
        }
    
        sampler2D _MainTex;
                
        void surf (Input IN, inout SurfaceOutput o)
        {
            o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
        }
        
        ENDCG
    } 
    FallBack "Diffuse"
cs


[ _Amount : 0 ]


[ _Amount : -0.2 ]


[ _Amount : 0.5 ]


'02.Development > Shader' 카테고리의 다른 글

[Shader] 셰이더 기초 (공유)  (1) 2016.02.04

+ Recent posts