UDN
Search public documentation:

NormalMapProcessingKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 스태틱 메시 > 노멀 맵 처리
UE3 홈 > 배경 아티스트 > 노멀 맵 처리

노멀 맵 처리


문서 변경내역: Joshua Marlow 작성. Paul Oliver 관리. 홍성진 번역.

노멀 맵 처리에 대해서


노멀 맵 처리에 있어서 문제점은, 그 방법이 너무 많다는 것입니다. 그렇다 보니 가끔은 어떤 방법이 작업중인 디자인에 최고의 결과를 낼 것인지 알기가 어려운 부작용이 있습니다. 각 방법의 장단점을 이해하기 위해서는, 실험해 보고 실패해 보는 습관을 들이는 것이 좋습니다.

어떤 디자인에 흔히 가장 잘 맞는 방법은 어떤 것인가 정의하기 위해 시도해 본 방법은 다음과 같습니다.

Chamfered(빗각면) 스무딩 그룹


가끔 단일 스무딩 그룹은 너무 헐겁고 검정에서 하양 범위가 너무 셉니다. 이런 경우는 소프트한 디자인과 하드한 디자인이 결합될 때 종종 발생합니다. 게임 내 디자인의 주요 부분은 거의 이런 식이라, Chamfering(빗각면)이 가장 흔한 처리 방법입니다.

빗각면은 스무딩 그룹을 에지(edge)을 따라 얼마나 빡빡하게 붙일지를 결정합니다. 보통은 아주 간단한 작업방식이지만, 스무딩 그룹의 라이팅이 너무 어둡지 않도록 하면서 가급적 모양을 딱 맞추는 것이 좋습니다. 라이팅이 너무 어둡다는 것은 모든 모양이 제대로 잡히지 않는다는 뜻일 수도 있기 때문입니다.

  • 장점 - 풍부한 노멀 맵, 로우폴리에서 날카로운 에지 적음
  • 단점 - 버텍스 수, 조악한 재사용성

싱글 스무딩 그룹


가끔은 전체 메시에 그냥 하나의 스무딩 그룹이 사용되는데, 보통 모든 각도에서 볼 수 있도록 디자인되는 바위 모델에 적용됩니다. 바위 모델은 전체에서 분리된 작은 노출부나 석순 유형의 요소가 있지 않고서야 보통 변종을 만들지 않습니다. 이때문에 노멀 맵은 한 가지 상황에 대한 기능만 담당하면 되니, 단일 스무딩 그룹에 적합한 것입니다. 게임 내 바위의 다양성은 일반적으로 각 메시의 회전, 스케일, 다른 바위와의 병합 등을 통한 방법으로 나타납니다. 그래서 이와 같은 디자인으로, 여분의 좌-우, 상-하 노멀 맵 컬러가 있다는 것은 장점으로, 바위 노멀 맵이 어느 각도에서든 더욱 깊게 '튀어(pop)' 보이는 데 도움이 됩니다.

  • 장점 - 비용도 싸면서 최대로 튀어 보임
  • 단점 - 다른 디자인에 적용 가능하지 않음

멀티 스무딩 그룹


한 모델에 여러가지 스무딩 그룹을 조합시키면 생성되는 노멀 맵의 평평한 정도를 높이는 데 좋습니다. 철제 대들보와 같이 디자인 에지가 소프트 보다는 하드 쪽인 기계식 디자인에 최고입니다. 이 방법은 모듈식 디자인에 가장 적합한데, 노멀 맵이 평평할 수록 지원할 수 있는 모양의 수가 많아지기 때문입니다. 기계식 디자인이 평평한 줄(strip)로 언래핑되면, 그 노멀 맵 '다듬은(trim)' 부분을 언래핑하여 여러가지 다양한 형태로 적용할 수 있습니다. 많은 디자인이 여러 디테일의 조합일 뿐이므로, 이런 방식은 아주 잘 통합니다.

그 이식성 덕분에 이 방법은, 제작 마무리 단계에 씬에서 텍스처를 벗겨내야 하는 최적화 단계에서 매우 유용합니다. 메탈 줄 시리즈로 된 노멀 맵이 있는 경우, 다른 커스텀 디자인도 거의 똑같이 지원할 수 있습니다.

  • 장점 - 매우 깨끗하고 재사용성이 높은 노멀 맵
  • 단점 - 버텍스 수

처리 예제


테스트로 철제 대들보 메시를 잡아다가 어느 것이 목적에 가장 잘 맞는 것인지 선보이기 위해 세 가지 방법으로 처리해 보았습니다. 여기에 정답은 없습니다. 이걸 빨리 이해하는 것이 좋습니다.

GirderHI.jpg.jpg

우선 단일 스무딩 그룹을 사용해 보았습니다. 노멀 맵에 튀는 부분(pop)이 많아 평평하고 지루한 디자인을 보강해 보고자 하는 바람이었죠. 아래와 같은 결과가 나왔습니다.

Normals_SingleSmooth.jpg.jpg

노멀 맵 뷰만 봐도 문제가 없다는 건 확실했습니다. 측면에 가운데 볼트는 평평하게 투영된 것을 볼 수 있지만, 가운데 볼트는 에지쪽으로 늘어나서 각을 주고 보면 보일 수가 있습니다. 전체 오브젝트에 걸쳐 노멀이 굽은 것도 분명해서, 대들보 모양을 제대로 반영하는 것은 아닙니다.

SingleSmoothINGAME.jpg.jpg

게임내 특정 각도에서 보면 노멀이 너무 기대어 있는 것을 볼 수 있으며, Symmetry(대칭) 모디파이어를 통해 코너 변종을 만들라고 했더니 미러링 지점 이음새가 눈에 띄게 드러나서 쓸만하지가 못했습니다.

다음으로 프로세스를 제어하고 더욱 깨끗이 만들기 위해 멀티 스무딩 그룹을 사용해 봤습니다.

NormalsMultiSmooth.jpg.jpg

이 방법은 거의 잘 통하지만, 측면 부분이 여전히 볼트에 세로로 약간 굽어 있고, 에지에 있는 볼트도 꼭다리(end cap) 옆쪽으로 가로로 약간 늘어나 있어서, 마찬가지로 볼트가 삐딱한 문제가 있습니다. 이 방법은 사실 통하는 방법이지만, 3DS Max 의 케이지 방법의 약점으로, 스무딩 그룹이나 꼭다리의 중단을 사각 형태의 모델로 조잡하게 처리합니다. 케이지는 평평하게 투영되지 않고 약간 휘기 때문입니다.

MultiSmoothINGAME.jpg.jpg

게임내에서 케이지 벤딩때문에 꼭다리는 올바르게 처리된다는 것이 확실합니다만, 평평하게 투영되지 않아 약간의 정보가 빠져 있고, 결과적으로 종단 부분에 각이 져 측면의 각과 깔끔하게 맞아떨어지지 않습니다. 제가 만든 코너 변종의 일정 각에도 약간의 이음새를 볼 수 있습니다. 거의 되긴 했습니다. 이제 미세 조정만 해 주면 괜찮을 테니, Detached (탈착) 스무딩 그룹 꼼수를 쓰면 위의 두 가지 문제는 고칠 수 있을 것입니다.

NormalsDetachedSmooth.jpg.jpg

이제 Detached 스무딩 그룹 방법을 사용했더니, 케이지가 스무딩 그룹을 올바르게 해석한 것을 볼 수 있습니다. 윗면의 평평한 면은 수직 위쪽으로 투영되고, 측면은 수평 바깥쪽으로 투영됩니다. 가장자리에 있는 볼트가 뒤틀리던 문제도, 하이폴리 디자인 종단 너머로 로우폴리 메시를 연장하여 해결하고 있습니다. 이 방법으로 한 디자인을 여러 번 타일링한다 쳐도, 스무딩 그룹은 한 부분에만 맞춰지는 것이 아니라 유동적으로 맞춰지기 때문에 잘 통합니다. BSP 텍스처 작동 방식을 모방하기 위해 스무딩 그룹 끝을 무시하여 케이지에 꼼수를 부리는 것입니다.

측면으로 연장한 로우폴리 영역에는 잡아낼 하이폴리 정보가 없어서, 그냥 그 UV 를 처리할 정보가 있는 해당 영역 측면 밖으로 옮겼습니다. 이 작업은 처음엔 그리 이해가 가지 않는 성가신 일이겠습니다만, 단순히 UV 와 한 가지 하이폴리 환경설정에 맞춰 처리하기 보다는, 게임내에서 오브젝트가 실제로 사용되는 방식에 맞춰 처리하기 위함입니다. 종종 이런 것이 사용할 처리 방법 선택에 있어서의 중요 요인입니다. 게임 내에서 해당 애셋이 어찌 사용되는가에 조금 더 따르는 거죠. 이 경우 이 대들보를 꼭다리 위치에 측면으로 여러 개 쌓아, 아까 처리한 길이가 더 긴 버전으로 병합시킬 계획입니다.

DetachSmoothINGAME.jpg.jpg

이제 게임내에서 보면 이 메시는 완벽해 보입니다. 모든 볼트가 평평하게 투영되고, 왜곡도 없으며, 코너 변종도 이음새 없이 완벽 지원됩니다. 노멀이 매우 평평하며 스무딩 그룹에 맞춰져 있기 때문입니다. 이런 식으로 텍스처가 게임 내 여러가지 모듈식 변종을 지원하는 것이며, 아래에서 보면 이 조각을 가지고 얼마나 많은 조각들을 추가로 만들어낼 수 있는지를 볼 수 있습니다. 대들보는 Gears3 의 Bridge 세트의 레일링 세트의 일부였습니다.

LotsofGirders.jpg.jpg

노멀 맵이 너무 평평하기 때문에 좀 더 기계적인 모양을 언래핑하기가 쉬우니, 예기치 못한 다른 디자인도 지원할 수 있었습니다.

LotsofGirders2.jpg.jpg