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 |