블렌더/블렌더 튜토리얼

[Tutorial #01] 09. blender material - 벽

노루3759 2024. 1. 15. 00:05
반응형

[Tutorial #01] 09. blender material - 벽

 

벽 재질 설정

 

이제 바닥 재질은 완성했으니, 벽에 재질을 주겠습니다.

 

하얀색 벽으로 만들도록 하겠습니다.

블렌더에서 자체 Principled BSDF 쉐이더로 pbr 재질을 지원하므로, 아래처럼 재질을 주면 하얀색 벽이 잘 표현됩니다.

원하는 색을 Base Color에 주고, roughness를 조절해 재질의 거칠고 매끈한 정도를 표현하면 됩니다. 이게 재질 표현의 기본적인 방법입니다.

 

 

이때 흰색은 1에 해당하는 완전 흰색으로 표현하지 않았습니다. 실제 세상에서 1에 해당하는 흰색은 사실 빛이 만들어 내는 색입니다. 우리는 물체에 반사된 빛을 보는데 이 과정에서 에너지 교환이 발생하고, 그렇기에 스스로 발광하지 않는 한 빛이 가장 흰색이 됩니다. 100% 반사율을 가지는 물체가 아니라면 말이죠. (현실에 그런 물체는 존재하지 않습니다.)

 

그런데 그래픽에서는 에너지를 만들고, 소비하는 그런 과정이 없죠. 그냥 흰색으로 설정하면 흰색이 됩니다.

 

 

그래서 아래처럼 물체의 흰색과 빛의 흰색을 구별하지 못하는 상황이 발생합니다. 왼쪽 평면이 하얗게 보이는 건 빛을 받아 흰색으로 보이는 게 아니라, 평면의 재질을 완전 흰색으로 설정했기 때문입니다. 현실에서는 이런 현상이 발생하지 않습니다.

 

물론 이런 문제를 기술적으로 보정해 주기 위해 여러 방법이 등장했습니다. 

블렌더는 색 영역을 기본값으로 filmic으로, 4.대 버전부터는 agx로 설정해 물체가 완전 흰색이 되지 않도록 조절해 줍니다.

 

 

우리가 좋게 말해 색을 보정한다고 하고 밝기를 조절한다고 말하지만, 사실 인위적으로 색을 조절해 나가는 거죠. 기술의 힘을 빌려 최대한 현실 세상을 모방하려고 하지만, 그래도 색을 인위적으로 조절하다 보니 몇 가지 문제가 생길 수 있습니다.

그래서 재질을 너무 흰색으로 만들면 그 부분이 빛을 받아 하얀 건지, 물체가 원래 하얀 건지 구별하지 못할 정도로 디테일이 사라질 수 있습니다. 

 

 

재질 디테일 추가

이제 이렇게 만든 벽 재질에도 디테일을 좀 더 추가해 보겠습니다.

 

 

실제 세상에서는 다양한 재료로 벽을 만듭니다. 하얀색 벽이라고 해도, 페인트를 칠하기도 하고, 흰색 벽지를 바르기도 하고.

또 벽에 페인트를 바르는 것도 방법이 다양하죠. 콘크리트나 벽돌을 노출해 그 느낌을 살려 바르기도 하고, 페인트 자체도 유광이냐 무광이냐, 어떤 회사 제품이냐에 따라 또 느낌이 달라지죠.

그래서 벽에 어떤 디테일을 추가해 주냐에 따라 재질이 주는 느낌이 달라집니다.

 

 

기본적으로는 하얀색 벽을 사용할 거지만, 몇 가지 다른 벽 재질을 표현해 보려고 합니다.

 

1. roughness 추가

같은 흰색이라도 표면이 거친 흰색이냐, 매끈한 흰색이냐에 따라 재질이 주는 느낌이 달라집니다.

 

흰 벽에 다양한 디테일을 주기 위해 노이즈를 연결해 roughness를 바꿔줄 수 있습니다.

noise 노드를 하나 만들어 roughness에 연결해 주었습니다.

 

노이즈가 벽 길이를 따라 너무 늘어지지 않게 texture coordinate >>> object로 연결했습니다.

 

블렌더가 4.대 버전으로 오면서  3d 텍스처 노드에 여러 가지 옵션들이 더 생겼습니다.

노이즈 텍스처는 -1 ~ 1에 해당하는 노이즈를 만들어 주는데, 그러면 0 이하의 값들은 디테일이 없어지고 모두 0으로 표현됩니다. 그래서 map range 노드를 연결해 값의 범위를 바꿔서 써야 했는데, normalize 옵션이 생기면서 그럴 필요가 없어졌습니다. 

 

그 외에도 roughness, lacunarit, distortion 등의 옵션이 있으니 조절해 보면서 사용하시면 됩니다. 언제나 중요한 건 이미지가 어떻게 변하는지 눈으로 보면서 작업하는 겁니다.

 

노이즈를 좀 거칠게 만들기 위해 noise 노드의 roughness 값을 올리고 컬러 램프로 범위를 조절했습니다.

 

같은 흰색 벽이라도 벽면에 표현되는 roughness에 따라 재질의 느낌이 달라집니다. 

 

 

roughness도 너무 과하면 지저분해 보이니 알맞게 조절해서 사용해야 합니다. 노이즈 대비나 디테일이 너무 지저분하니 오히려 재질도 거친 표면과 매끈한 표면이 섞여 얼룩덜룩해 보입니다.

 

이렇게 같은 재질이라도 roughness에 노이즈를 추가해 다른 느낌의 재질을 표현할 수 있습니다.

 

 

2. 벽지

하지만 noise만 사용해서 표현하기에는 한계가 있습니다. 맨날 저런 표현만 할 것도 아니고 말이죠. 아래처럼 벽지 바른 벽을 표현하기에 좋은 방법도 아니고요.

 

LX zin에서 판매하고 있는 다양한 종류의 벽지들입니다. 벽지에도 다양한 느낌의 질감이 있습니다.

이런 느낌을 살리기 위해 ambientCG 사이트에서 재질을 하나 다운받아 보겠습니다.

 

fabric으로 검색해서 아래 pbr 재질을 하나 다운받았습니다.

 

fabric은 일반적으로 천이나 원단 재질을 표현해 줍니다.

벽 재질 넣는데 무슨 천이냐, 할 수도 있겠지만... 그래픽은 진짜 공간이 아닙니다. 이 재질의 원래 목적이 천이냐 아니냐가 중요한 게 아니라, 내가 만들려는 씬을 어떻게 표현할까 하는 고민이 중요합니다.

실제 많은 영화가 현실과 다른 기상천외한 방법으로 연출되기도 하고, 게임에 사용하는 효과음은 양배추를 잘라 녹음하기도 하죠. 그도 그럴게... 총 쏘는 씬을 찍는다고 진짜 총을 쏠 수는 없잖아요. 그런 연출을 하는 겁니다.

 

 

모든 이미지를 다 사용할 게 아니라 roughness 이미지만 가져다 사용하겠습니다. 꼭 roughness에는 roughness 텍스처만 사용할 수 있는 게 아니라, 이 이미지가 가장 괜찮을 거 같아서 사용하는 겁니다.

 

 

이 이미지를 uv에 연결해서 적당히 크기를 조절해 줍니다.

 

 

벽지 표면이 우둘투둘해 보여도 표면을 코팅해서 판매하는 제품이 많다 보니 생각보다 빛 반사가 강합니다. 컬러 램프로 적절하게 조절한 뒤 roughness에 연결해 줍니다. 표면에 벌써 작은 디테일이 표현되는 게 보입니다.

 

 

roughness 차이로 인해 재질 표면이 다르게 표현되는 게 보이나요? 빛이 반사되는 게 다릅니다. 둘 다 같은 흰색 벽이고 모든 설정이 똑같은데도, roughness 하나 달라지니 재질의 표현이 달라집니다.

 

 

이제 이걸 bump 노드 하나를 만들어 normal에 연결해 음영 표현도 해 주겠습니다. 노말 텍스처가 있으면 따로 가져와서 normal map 노드를 통해 연결해도 괜찮지만, 이렇게 하나의 이미지를 가지고 bump를 표현해 줘도 괜찮습니다. bump 노드는 흑백의 이미지를 normal로 변환해서 쉐이더에 전달합니다. 다만 bump 표현 방식 특성상, 어느 정도 높고 낮을지 결정하기가 애매한 점이 있습니다. 그래서 흑백 범프 이미지를 노말로 변환할 때, distance에 따라 bump가 종종 강하게 표현될 수 있습니다. 그래서 범프가 너무 세게 느껴지면 distance를 줄여보는 것도 좋습니다. 

 

 

여기에 base color에도 디테일을 더 추가하고 싶다면 컬러램프로 색을 더해줄 수 있습니다. 

하얀색이라도 전체적으로 다 같은 하얀색이 아니라, 밝기 차이가 조금 나는 하얀색을 섞어주는 거죠.

 

 

아니면 컬러램프에 색을 조금 더 섞어 다양한 범위의 색을 표현할 수도 있습니다. 컬러램프에 동일한 밝기의 노란색을 조금 더 추가했는데 전체적인 느낌이 바뀌었습니다.

 

 

 

참고로 위 Color Picker는 블렌더 옵션에서 바꿔줄 수 있습니다. 기본 circle에서 square로 바꾸면 아래처럼 바뀝니다.

 

 

또 벽지 무늬를 바꾸고 싶다면, base color 이미지를 바꾸면 됩니다. roughness와 normal의 질감은 그대로 살리면서 표면의 이미지만 바꿔주면 되죠. texture coordinate를 따로 만들어 사용하면 좌표를 각각 조절할 수 있습니다.

 

bump의 strength 강도에 따라 느낄 수 있는 벽의 질감이 달라집니다.

 

 

[Tutorial #01] 09. blender material - 벽

반응형