Normal Extrusion 추가....노멀값을 조절 해 메쉬를 뿔리는 셰이더??? 뿔린 메쉬를 뒤집어 툰셰이딩에 응용한다고도 한다....

 

 

Shader "DY/NormalExtrusion" {
 Properties{
  _MainTex("texture",2D)="white"{}
//  _Amount("Extrusion Amount",Range(-1,1))=0.0
  _Amount("Extrusion Amount",float)=0.0
 }

//슬라이드 조절바가 불편해서 수치 입력으로 바꿨다....


 SubShader{


  Tags{"RanderType"="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;
  }

// cg구문에 옵션에 해당하는 구문

//cg에 정의 되있는 Apptata를 활용해 메쉬가 뿔어나 보이게 만들었다...
  
  sampler2D _MainTex;
  
  void surf (Input IN, inout SurfaceOutput o){
   o.Albedo = tex2D(_MainTex,IN.uv_MainTex).rgb;
  }
  ENDCG
 }
 FallBack"Diffuse"
}

 

 

 

 

 

 

 

Custom Vertex Color 추가 ..... 로컬좌표 버텍스에 노멀 컬러를 입혔다...... 어디다 쓰지 ???

 

 

Shader "DY/CustomVertex" {
 properties{
  _MainTex("Texture",2D)="white"{}
 }
 SubShader{
  Tags{"RenderType"="Opaque"}
  
  CGPROGRAM
  #pragma surface surf Lambert vertex:vert
  
  struct Input{
   float2 uv_MainTex;
   float3 customColor;
  };
  
  void vert (inout appdata_full v, out Input o){
   o.customColor = abs(v.normal);
  }

// cg구문에 옵션에 해당하는 구문

//cg에 정의 되있는 Apptata를 활용해 버텍스에 컬러를 입혔다...

//ui쪽엔 버텍스에 컬러 접근해 컬러 바꾸던데... 그런데서나 쓸수 있으려나?
  
  sampler2D _MainTex;
  
  void surf (Input IN, inout SurfaceOutput o){
   o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb;
   o.Albedo *= IN.customColor;
  }
  
  ENDCG
 }
 FallBack"Diffuse"
}

 

 

 

 

 

 

 

 

 

 

Posted by 프리랜서 디자이너