Blender 9일차 - Texture + Toon Shader

Min Hyeok·2023년 1월 11일
0

3D

목록 보기
11/15

어제는 부산 갔다와서 뻗었다.

.. 다른 핑계는 대지 않겠다, 공부하자.

그리고 여담으로, velog에서 html로 게시글을 꾸밀 수가 있더라..? 몰랐던 사실. 🤔

Texture + Toon Shading

저번 시간에 Toon Shading을 배웠고, 7일차에 Texture Mapping을 배웠었다.

이번에는 그 때 배웠던 Toon Shading과 Texture(Normal, Displacement.. 등등)를 한번에 적용해보려고 한다.

들어가기 앞서

앞서 Toon Shading을 실습으로 진행해볼 때, Shader Editor에서 이런 저런 node들을 사용했었다. 그 중 "BSDF"와 "Shader to RGB"가 있었는데, BSDF는 Eevee에서만, Shader to RGB는 Cycles에서만 사용할 수 있었다.

그렇다고 둘 중 하나를 안쓰는걸로 타협을 볼 수도 없고, 어떻게 해야할까?

바로, "Displacement Modifier"를 사용하면 된다. 이를 응용하여 Texture에 Toon shading을 넣어보도록 하자.

실습

텍스처 적용

일단 Texturehaven에서 텍스처를 하나 받아왔다.

우선 diff(col) 이미지를 생성해주고, 텍스처를 만들어준다.

텍스처를 만들어주는 과정은, 위 그림이 있는 창에서 텍스처를 생성한 후 Image에 텍스처의 disp(displacement) 이미지를 열어주면 된다.

이후, 텍스처가 적용된 Mesh에서 "Displace Moidifer"를 추가해주고, 해당 모디파이어의 설정에서 아까 생성한 Texture를 열어준다.

그리고 여기서 Strength를 조절해보면, 아까 만든 텍스처의 이미지와는 관계없이 들쑥날쑥한 효과가 생긴다.

이는 이미지가 "텍스처화" 되어있기에, 같은 패턴들이 반복되며 위와 같은 현상이 발생한다.

그래서 위 화면의 Coordinates 속성이 기존엔 Local로 되어있을텐데, 저 속성을 UV로 바꿔주면 된다.

그렇게 되면 "어느정도" Texture가 우리가 원하는대로 될텐데, 우리는 오늘 "Toon Shading"까지 끝마쳐줘야한다.

쉐이더 적용

일단, Shader Editor로 가준다.

우리가 일반적으로 "diff(col)"로 공부했던 이 노드는, 이번엔 그림자를 따로 계산해줄 필요가 없다.

그래서 원래는 BSDF의 Base Color에 이어줬지만, 오늘은 "BSDF"를 없앨거다.

전반적으로 노드들이 이런 구조를 띄도록 할텐데, 이미지와 툰쉐이더 그림자를 합성해서, 이를 Surface로 보내주면 우리가 원하는 결과가 만들어진다.

일단 Mix 노드를 만들어서 Color를 섞도록 한 후, 이를 Material Output과 이어준다.

그러면 A에는 아까 생성한 Image Texture(diff or col)가 이어질 것이다. 그럼 B에는 뭐가 이어질까?

그렇다. 그림자.

그림자를 만들어보도록하자. (Normal map 이용)

우선 Texture에 포함되어있는 nor(normal) 이미지를 이미지 텍스쳐 노드를 통해 열어주고, 이 Texture가 "Normal Map"으로써 활용될 수 있도록 Normal Map 노드와 이어준다.

이후 이 Normal Map에 따라서 빛의 방향을 결정해줘야 한다.

그러면 BSDF가 필요하다는 얘기. 가장 단순한 BSDF인 Diffuse BSDF와 연결해준다.

그러면 이후 이 빛의 모양(이미지)를 RGB화 시켜주고, 그림자를 만들어 줘야한다.

왠지 저번 툰쉐이딩 시간에 한 것 같지 않은가?

맞다. 그 때 배운대로 Shader to RGB와 ColorRamp를 추가해주면 되겠다.

그 다음 아까 만들어줬던 Mix 노드에서, Blending Mode를 Multiply로 바꿔주고, 기존 Fac 값으로는 검정색(그림자 부분)이 잘 보이지 않으므로 Fac을 늘려준다. 이는 본인이 하고싶은대로 세팅해주자.

그럼 이렇게 노드 세팅이 끝난다.

Outline

이건 직접 한번 해보도록 하자. 저번 Toon Shading과 다를 바가 거의 없으니까.


오늘은 왜이렇게 컨디션이 안 좋은지 모르겠다. 그래서 막 detail하겐 쓰지 못한느낌?

다음 10일차에서 Animation을 다루고, 그 뒤로는 모델링 연습에 조금 더 집중해보려고 한다.

0개의 댓글