체스 모델링

체스 보드에 놓여진 말 중 하나를 정해 모델링해 봅니다. 워낙 간단한 모델인지라 모델링은 몇분 걸리지 않는데.. 재질을 만드는데 상대적으로 더 많은 시간이 소요되었습니다.

하나의 체스 모델에 대해 3개의 재질이 보이는데, 유리를 제외하고.. 먼저 금 재질은 다음과 같습니다.

그리고 다음은 조개 껍질 비슷한 재질(Narce) 재질은 다음과 같습니다.

다음은 체스 말 중 상대적으로 가장 복잡한 나이트를 모델링하고 동일한 재질을 부여한 렌더링 결과입니다.

HDRI 제작하기

먼저 원하는 장면을 아래의 예시처럼 구성합니다.

카메라를 장면의 중심(대부분 원점)에 배치하고 회전 값을 다음처럼 설정합니다.

카메라의 속성을 다음처럼 지정합니다. 아래의 속성 구성(Panorama Type)을 위해서 렌더링은 Cycles로 지정되어 있어야 합니다.

출력(Output) 속성은 다음과 같습니다. Resolution을 변경했으며 File Format 역시 변경했습니다.

복잡한 계단 난간 모델링 최적화하기

아래와 같은 복잡한 계단 난간을 모델링할때 난간 벽면과 바닥에 대한 철재 부분의 세밀한 부분도 모두 모델링한다면 매우 많은 정점과 면으로 구성된 모델이 나올 것이고 이를 웹에서 인터렉티브하게 시각화할 경우 속도 측면에서 그 효율성은 매우 떨어질 것입니다.

위의 모델에 대한 최적화된 모델링을 위해서는 먼저 계단 난간의 벽면과 바닥에 대해 매우 세밀한 모델링을 다음처럼 구축합니다.

그리고 위의 벽면과 바닥에 대한 텍스쳐를 2개 베이킹하는데요. 하나는 노말맵 또 하나는 알파맵입니다.

그리고 다음과 같은 모델에 위의 텍스쳐를 맵핑 시킵니다.

맵핑은 다음과 같은 쉐이더 노드로 구성합니다.

위의 쉐이더 노드 구성 시에 Blend Mode를 Alpha Clip으로 지정해서 알파값에 대한 임계값(Clip Threshold)을 직접 지정할 수 있도록 해야 합니다.

간단하게 Eevee로 렌더링된 결과는 다음과 같습니다.

AO, Normal 맵을 이용한 건물 모델링 최적화

건물을 3차원으로 웹에서 시각화하기 위해 고려해야할 것 중 하나는 면(Face) 수를 최소화해야 한다는 것입니다. 그러나 면을 최소화시키면 건물에 대한 세밀한 부분이 소실되는 문제가 발생되므로 면 수의 최소화는 어느 정도 타협이 필요한 부분입니다. 여기서 면의 수를 최소화하면서 건물의 세밀한 부분까지도 효과적으로 표현하기 위한 방법은 먼저 건물의 세세한 부분까지 모델링을 하고 이 세세한 부분에 대해 텍스쳐 이미지로 만들어(Baking이라고 함) 적용하면 두마리의 토끼를 모두 잡을 수 있습니다.

위의 설명에 대한 아래의 예시를 보면 좀더 이해가 쉽습니다.

위의 이미지에서 창만 안쪽의 블라인더는 실제 모델링으로 시각화한게 아닌 이미지 텍스쳐를 통해 표현되고 있습니다. 원래 이 블러인더는 텍스쳐 이미지로 베이킹 하기 위해 먼저 다음처럼 모델링되었습니다.

그리고 위의 블라인더 모델을 통해 먼저 AO(Ambient Occlusion) 맵을 베이킹하고 다음에는 Normal 맵을 베이킹하여 텍스쳐 이미지로 사용해 최종 모델을 생성하였습니다. 아래가 두 이미지를 텍스쳐 맵핑으로 적용한 쉐이더 구성입니다.

먼저 AO 맵은 얻기 위한 블라인더 모델에 적용한 재질은 다음과 같습니다. 카메라는 정사투영 카메라를 사용하여 이미지의 왜곡이 나타나지 않도록 해야 합니다.

그리고 Normal 맵은 Workbench 렌더링 엔진을 이용하여 Normal 색상의 MapCap 재질을 이용하여 렌더링하여 생성합니다.

최종적으로 만들어진 AO와 Normal 맵은 다음과 같습니다.