Unreal Engine

Unreal Material - 07

Rapids. 2024. 5. 23. 11:25

Toon Shading (그라디언트 텍스처를 이용한)

(A cos 세타)B = A벡터와 B벡터의 내적을 구하는 식

세타 = A벡터와 B벡터 사이의 각

 

1. 층이 나뉘는 베이스 컬러 제작

머티리얼 생성. M_Toon

셰이딩 모델 Unlit으로 변경. 빛을 안 받는 상태

 

라이트의 방향과 오브젝트의 버텍스 노멀을 내적하여 라이트에 반응하는 머티리얼을 만든다.

 

Toon관련 텍스처를 import 후 텍스처 세팅을 바꿔준다.

텍스처 자체가 크지 않기 때문에

압축 세팅을  userinterface2D로 바꾸어 압축이 덜 되게 해주고(용량 늘어남), sRGB를 체크 해제해준다. 

 

최종 결과물


2. 아웃라이너 제작

프레넬 계산 노드

Vertex Normal WS 또는 Pixel Normal WS 어느 것을 써도 결과는 비슷하나,

오브젝트의 면 갯수에 영향을 주지 않기 위해서 Pixel Normal WS 사용.

 

 

프레넬을 이용한 아웃라이너의 단점.

평평한 면에서는 원하는 아웃라이너의 느낌을 살릴 수 없음.

따라서 머티리얼 프레넬만으로 아웃라이너를 만드는데는 한계가 있음.

 

이를 해결하는 방법으로는 오브젝트를 하나 복사해서 스케일을 키운 후 노멀을 뒤집어 아웃라이너를 만드는 방법.

또는 Post Process를 이용해 아웃라이너를 만드는 방법이다.(추후 실습)


3. Specular 제작 ( Blinn)

 

앞서 만들어둔 베이스 컬러에 Add로 Spec을 더해주고,

Multiply로 Spec과 베이스컬러가 합쳐진 결과를 아웃라이너와 합쳐준다. (아웃라이너는 임시 연결, 추후 Post Process로 전환)


4. 추가 Specular 제작 ( Phong )

 

결과물 Blinn Spec과 비슷하나, 옆에서 빛을 받았을 때 림라이트같이 떨어진다. 

 

베이스컬러와 아웃라이너와 연결

 

앞서 만든 Blinn Spec 최종 핀과 Phong Spec 최종 핀을 Swich parameter로 연결해주면 머티리얼 인스턴스에서 바꿔가며 쓸 수 있다. 


Post Process Volume을 이용한 Outliner 제작

머티리얼 생성. M_DetectEdge

결과 노드 디테일 창 - Material Domain을 Post Process로 변경.

 

 

위 사진의 맨 왼쪽 add에서부터 각각 핀을 뽑아 Scene Depth를 추가로 연결해준다.

 

결과 노드 디테일 창에서 Blendable Location을 Before Translucency로 바꿔준다.

(디폴트 설정은 화면이 덜덜 떨리는 현상 발생)

 

포스트 프로세스 볼륨 생성.

디테일창 - Rendering Features - Post Process Materials - array - +버튼으로 추가해주고 Asset reference 선택

MI_DetectEdge  넣어준다.

 


Post Process Volume을 이용한 vignetting 효과 제작

머티리얼 생성. PM_Vignetting

결과 노드 디테일창 - 머티리얼 도메인 Post Process로 변경.

 

Texture Coordinate 노드로 그라디언트 생성. 

상하 좌우 그라디언트를 만들어서 Multiply. 최종 사각형 모양의 비네팅 효과를 만든다.

 

'Unreal Engine' 카테고리의 다른 글

Unreal Lighting - 06  (0) 2024.05.27
Unreal VFX - 02  (0) 2024.05.24
Unreal Animation & Sequence -01  (0) 2024.05.22
Unreal Blueprint - 01  (0) 2024.05.21
Unreal Lighting & Camera - 05  (0) 2024.05.20