-대리석, 시멘트 건물 외벽 만들기-


길거리 건물 중에서 가장 많이 보이는 재질이 시멘트다. 또, 두번째로 많은 석재는 아마도 '대리석'이 아닐까. 시멘트와 대리석 재질만 알면, 웬만한 외부 건물 재질들을 만들 수 있다.


1아파트 모델링 』

아파트 이미지를 보면서 대충 아파트를 모델링한다. 


2 대리석 노드구조

아래 이미지를 보면, 전체적으로 구조는 'Dark'와 'Light'모두 같다.


1) granite노드를 생성하고, Dark색은 아래 이미지처럼 맞춰준다.(우측 상단)

2) projection 모드로 grid노드를 생성하고, 수치값은 아래처럼 조절한다. 

    projection노드는 대리석 벽에 가로 줄무늬를 넣기 위해서 생성한다. 


3) setRange노드로 grid노드의 줄무늬를 약화시킨다. 

4) multiply-divide노드에 input1 = granite 연결, input2 = projection 연결한다. 

5) projection노드에서 나온 outputR은 bump2d나 bump3d로 normal camera와 연결

6) granite 색과 grid 프로젝션 노드가 함께 들어간 multiply-divide노드는 ai standard surface노드(아래 사진에서 granite)에 연결한다.


Light 대리석은 Dark와 같은 노드구조를 가지는데, granite 노드의 색만 갈색빛으로 바꿔준다. (위 사진 참조) 


* 대리석 랜더링

-> 아파트에서 대리석인 부분의 면만 선택한 후에 대리석 쉐이더를 적용한다.  

-> 대리석 specular값이 강하다면, specular에서 roughness값을 높여서 반사광 경계영역을 흐트려준다. 


3 시멘트 쉐이더 생성하기

solidFractal 노드를 생성하고, 값은 default값으로 하되 place2dtexture 노드에서 scale값을 40( x, y, z)정도로 설정한다. solid fractal 노드를 중간 감산값 없이 그대로 쉐이더에 넣으면, 아래 사진처럼 안개문양이 벽에 그대로 나타난다. 이는 우리가 원하는 색이 아니다. 얼룩한 느낌이 살짝 나오도록 설정을 바꿔줘야 한다.


setRange노드를 생성하고, solidFractal 녿의 outColor값을 sestRange노드의 Value값에 넣는다. Layered Texture에 set Range 수치는 아래와 같이 설정해서 넣어준다. 


Layered Texture노드에서는 마지막 색상만 'over'모드로 하고, 그 전의 값들은 multiply 방식으로 합성한다. 


setRange노드로 수치값을 줄이면, 안개 문양이 희미하게 변한다. 이제 grid projection을 벽에 씌워보자. 최근 아파트들은 벽에 줄 무늬로 선들이 있다. 


4 grid projection노드 생성

grid projection노드를 생성한다. grid 프로젝션 노드를 Layered 텍스처 노드의 두번째 input의 color값에 넣어준다.  


위의 랜더링 이미지를 살펴보면, 그리드의 격자무늬가 아주 강력하게 들어간 것을 확인할 수 있다. (레스토랑 인테리어일 경우에는 쉐이더로 가능)


* setRange노드 생성

grid노드를 통해 나오는 outColor값에 setRange 노드를 넣어서 수치값을 줄여준다. setRange노드를 거치면, 벽의 격자 무늬들이 많이 사라진다. setRange값은 아래 사진참조.


5  아파트 하단 기둥 쉐이더 생성

아파트 하단 페인트칠 부분은 시멘트 쉐이더 생성과 노드구조가 같다. solidFractal 노드로 얼룩덜룩한 느낌을 만들고, Layered 텍스처의 input Color값에 넣는다. (Layeyere 텍스처의 색상 설정)


* aiCurvature노드 생성

-> aiCurvature노드는, occulusion맵을 넣은 효과를 만들 수 있다. (벽돌 쉐이더 만들기 포스팅 참조)


-> aiCurvature노드를 만들고, radius값을 조절한 후에 'concave'모드에서 reversere노드를 연결한다. 


-> setRange노드가 없어도 큰 상관없지만(radius나 multiply값으로 조절) 랜더링 시간을 위해서 setRange노드를 연결한다. 


*ai Noise노드

-> ai Noise노드는 전체적인 얼룩을 만들기 위해서 적절한 느낌을 제공한다. ai Noise노드를 만들어서 Layered 텍스처 노드의 alpha값에 연결한다.(고층빌딩 쉐이더 만들기 포스팅 참조)


ai Curvature노드와 ai Noise노드를 첨가하면, 시멘트 건물에 무게감이 나타난다. 하늘을 실사 HDRI를 사용하고, 창문  window 쉐이더의 roughness값을 조절해서 반사광을 확실하게 만들어주면 조금 더 실사감이 살아날 수 있다.


시멘트와 대리석 위주의 쉐이더 만들기 포스팅이므로, 유리에 관한 부분은 다음 포스팅에서 살펴보기로 한다.