WannaFlySomeDay/UnityEngine - Shader

[SG] Outline Shader

자전거통학 2024. 3. 29. 01:33

 

예전의 cartoon 효과를 내기 위해 많이 사용한 기본 shader 이다. 

 

예시 이미지를 보면, 기본 material이 입혀지고, 그 위에 edge가 있는것을 알 수 있다.

 

따라서 해당 edge를 그리는 방법을 찾아 본다. 

 

가장 간단한 방법은 정접을 조금 확대하고 back face방향으로 어둡게 그리는 것이다. 

 

object를 그냥 확대하면, 로컬 좌표 중심 기준으로 계속 커지게 되므로, 단지 정점의 normal 방향으로 크기를 키운다.

 

이 점을 유의하여 만든다.

 

 

노멀 방향으로 tickness만큼 그게 한후, 원래 위치와 더해 새로운 외곽위치를 찾는다. 

그 값을 vertext위치로 output 한다. 

 

전면 제거는 여러 방법이 있다. 

아래와 같이 Is Front Face노드를 사용하여 알파채널에 연결해도 되고, 

 

아니면 알파 연결을 1로 설정하고, 아래와 같이 Render Face설정을 back으로만 해도 작동 할 것이다. 

 

 

 

결과 .

 

'WannaFlySomeDay > UnityEngine - Shader' 카테고리의 다른 글

[SG] Sprite & Background Blur.  (0) 2024.03.31
[SG] Laser Beam Shader.  (0) 2024.03.30
[SG] Water Shader  (0) 2024.03.29
[SG] Portal Shader  (0) 2024.03.29
[SG] Rock Moss Shader  (0) 2024.03.28