Blender 공부하기 (4) - Shader Node로 Material 설정하기

2023. 1. 29. 23:32배움엔 끝이없다/Blender

참고한 영상 : https://www.youtube.com/watch?v=B_xwv420iJo&list=PLrjIgEdKLivgpCMmFC0_sV60Y_Ftp-WLD&index=3&ab_channel=CGGeek 

블렌더를 처음 시작하는 나같은 사람을 위한 투토리얼 영상으로, 아이스크림 콘을 만드는 것을 목표로 진행된다.

 

!!

이번엔 Material을 입히는 작업을 하므로, 반영되는 사항을 실시간으로 보려면 Viewport Shading을 Rendered Display render preview로 바꿔줘야한다.

Environment Map (Environment Texture)

World Properties 메뉴에서 Surface > Color 의 노란 동그라미를 눌러,

Environment texture를 선택해주고 HDR 텍스쳐를 열면 된다.

HDR 텍스쳐는 HDRI Heaven이라는 사이트에서 무료로 받을 수 있다.

나는 https://hdri-haven.com/hdri/square-by-the-town-hall 를 사용했다.

 

그리고 사용한 Environment Map에 따라 빛 세기와 방향을 조절해주면 된다.

참고한 영상에서는 태양이 있는 쪽으로 Light 오브젝트를 이동시키고, 빛의 세기를 조정해준다.

나는 배경에 빛이 딱히 없어서 세기만 줄여줬다.

 

Shader Editor 

Blender에서 왼쪽 끝을 드래그하면 새로운 창(Area)를 열 수 있다.

새 창을 열고 Shader Editor로 바꿔 Shader Node 작업을 할 수 있다.

Shader Editor를 열고 N 키를 눌러 옆의 Active Tool 탭을 닫을 수 있다.

아이스크림의 Material을 만들어주기위해 아이스크림 오브젝트(Circle)을 눌러주면 Shader Editor 상단에 New 버튼이 생긴다. 그 New 버튼을 누르면 Principled BDSF 노드가 생성된다.

Principled BDSF는 PBR(물리기반 렌더링) 쉐이더의 일종으로, 여러 노드를 합쳐주는 역할을 한다고 한다.

 

여기 여러 속성들이 있는데, 다행히 컴퓨터 그래픽스 수업을 들어서 대체로 무슨 뜻인지 알 수 있었다.

사실 대부분 영어 뜻을 알면 알 수 있는 속성들이다.

 

아이스크림 반반 색 만들기

아이스크림을 반은 초코, 반은 바닐라로 만드는 방법이다.

노드 추가는 shift + A로 선택할 수 있다.

노드들은 왼쪽부터 순서대로 Input > Geometry, Converter > ColorRamp, Color > Mix 이다.

수치들은 이리저리 움직여보며 가장 어울리는 것으로 선택했다.

내가 짐작하는 노드들의 원리는 대략 아래와 같다.

Mix 노드

두 색 A, B를 Factor 비율로 섞어준다.

기본적으로 Factor를 한 숫자로 지정하면 그 비율로 섞어서 회색이 되지만,

여기서는 다른 노드들을 활용해 아이스크림 표면의 각 위치에 따라 그 비율을 다르게 해준다.

ColorRamp 노드

Factor 값에 해당하는 위치에 있는 색을 반환한다.

가운데 있는 그래디언트 같은 것을 조정하면 되며, 왼쪽이 0, 오른쪽이 1이다.

여기서는 검정과 하양색이 사용됐는데, ColorRamp의 출력값을 Mix의 Factor로 입력할 것이기 때문이다.

Geometry 노드

표면의 어떤 위치에 대한 정보를 제공한다.

Normal은 표면이 바라보는 방향(법선 벡터)이다.

 

위 세 노드를 조합했기 때문에 사실 이 아이스크림은 초코와 바닐라가 반반 섞인게 아니라,

Normal에 따라 갈색과 하얀색으로 나뉜 것이다.

Eevee 렌더링 설정

지금 사용하고 있는 렌더러가 Eevee라는 렌더러인데, 이와 관련된 설정을 Render Properties 메뉴에서 할 수 있다.

여기서는 구석진 곳에 그림자를 만들어주는 Ambient Occlusion과, 물체끼리 빛이 반사되게 해주는 Screen Space Reflections를 켜준다.

Bump / Roughness 설정

너무 매끄러운 아이스크림에 울퉁불퉁함을 추가해줄 수 있다.

Bump는 실제로 메쉬를 울퉁불퉁하게 만들지 않고도 표면의 normal을 변경방법이다.

보통은 Bump map texture를 이용해 적용하지만, 여기서는 Noise를 활용한다.

 

Roughness는 표면의 울퉁불퉁함을 나타내는데, 이는 빛이 얼마나 정반사 되는지 (얼마나 반짝이는지)와 연관이 있다.

여기선 Roughness도 Noise Texture를 이용해 설정한다.

 

사용한 노드들은 왼쪽부터 Texture > Noise Texture, Converter > Math (생성 후 Multiply 선택),  Texture > Noise Texture, Vector > Bump 다.

수치들은 이리저리 움직여보며 가장 어울리는 것으로 선택했다.

Noise Texture는 Scale를 100 이상으로 키워야 적절하게 노이즈가 생기는 것 같다.

 

랜덤 색상 입히기

아이스크림에 뿌려진 스프링클에는 간단하게 랜덤 색상만 입힌다.

스프링클에 사용된 오브젝트 중 하나를 선택한 후 아래 쉐이더 노드를 적용해준다.

 

 

사용한 노드는 왼쪽부터 Input > Object Info, Converter > ColorRamp다.

ColorRamp의 경우 보간 방식을 Liner에서 Constant로 바꿔줘야 섞인 색이 생기지 않는다.

이렇게 하면 Random 값이 ColorRamp를 통과해 지정한 색들로 바뀌어서 적용된다.

 

나머지 스프링클도 선택해서 Material Properties 메뉴에서 같은 머테리얼을 적용해준다.

 

 

오늘의 결과물

 

반응형