본문으로 바로가기

#3d모델링이란 #3d맥스 맵핑 #3d맥스 uv #3d맥스 로우폴리 #3D 모델링 자료

 

 UV란?

 

UV=3D 모델의 2D 전개도 (출처 : https://conceptartempire.com/uv-mapping-unwrapping/ )

 

UV 맵이란 텍스쳐링을 위한 3D 모델의 표면으로, 위 그림과 같이 정육면체(3D) 를 펼쳐놓은 전개도(UV) 라고 생각할 수 있습니다.  3D 모델링에서 UV 언랩은 전개도를 만드는 과정, UV 맵핑은 만들어진 전개도를 3D 모델에 포장하는 과정입니다. 아마 세상의 모든 모델러가 이 작업을 좋아하진 않을것입니다.

 

 

종이인형 도라에몽 전개도

 

 

위 사진에서 전개도를 각각 알맞은 방향으로 다시 접으면, 모든 면에 알맞은 텍스쳐가 들어간 3D 도라에몽이 만들어 집니다. UV 언래핑은 이와 같은 전개도를 만드는 과정으로, 이미 만들어진 3D 모델의 면을 차근차근 펼치는 작업이라고 할 수 있습니다.

UV가 없는 모델에 메터리얼을 적용하는 것이 3D 모델에 페인트를 부어 텍스쳐를 입히는 것과 같다면, UV가 있는 모델에 메터리얼을 적용하는 것은 3D 모델을 딱 맞는 종이 포장지로 포장을 하는 개념이라고 생각합니다. UV가 있으면 각 면에 대한 텍스쳐를 훨씬 더 자유롭게 컨트롤 할 수 있고, 보다 리얼하고 디테일한 결과물 만들어낼 수 있습니다.

UV작업은 단순히 텍스쳐를 입힐 때 뿐만 아니라, 가벼운 로우폴리 모델에 하이폴리 모델의 각종 맵을 프로젝션 하기 위한 데이터로써의 기능도 하게 됩니다.

 

 

UV 맵에서 U와 V는 각각 2D공간에서의 수평, 수직 축을 의미합니다. 3D맥스를 비롯한 여러가지 많은 3D 프로그램이 위 사진과 같은 UV편집창을 제공합니다. 이 UV 편집창에 보이는 공간(타일)이 U,V축을 지닌 2D공간입니다. 3D 공간에서 이미 X,Y,Z 축을 사용하고 있기 때문에 2D로 펼쳐지는 전개도는 U와 V 축을 사용하게 됩니다.

 

 

 Unwrapping (UV 언랩) 가이드 :: 들어가며

 

모델링을 하면서 피할 수 없는 작업인 UV는, 모델러마다 각기 다른 방식과 요령으로 작업하기 때문에 어떤것이 맞는 방법인지 판단하기 애매할 때가 있습니다. 어떤 모델러는 원버튼으로 펼치고 입히는 플러그인을 사용하기도 하고, 어떤 모델러는 UV를 일일이 수작업으로 펼치기도 합니다. 애초에 모델링을 할 때 부터 UV 작업을 수월하게 하기 위해 모든 파트를 Primitive 모델로 시작해서 끝내는 경우도 있습니다.공부를 하면서 다양한 자료를 보았지만, UV 작업에 있어서의 핵심은 모델의 형상이나 플러그인 유무에 관계없이 적용할 수 있는 가이드라인이라고 생각합니다. 아래는 제가 수집한 여러가지 UV 작업 가이드 중 중요한 규칙들을 정리한 것입니다.

 

 

 

 Unwrapping (UV 언랩) 가이드 :: (1) 절개선

 

잘 펼쳐진 정육면체의 UV, 초록색 선 = 절개선(seam)

 

잘 펼쳐진 UV란, 모델에 입혔을 때 어색하거나 왜곡이 발생하지 않고 깔끔하게 포장할 수 있는 전개도를 의미합니다. 보통 잘 만들어진 UV를 확인할 때 위와 같은 체크무늬 패턴(Checker Pattern) 을 입혀보게 되는데요. 이를 통해 모든 면에 체크무늬가 올바른 방향과 밀도(density)로 들어갔는지 확인합니다. 만약 체크무늬에 왜곡이 생기거나 어색한 연결부위가 생긴다면, 해당 부분을 수정하게 됩니다.

많은 UV 가이드라인에서 공통적으로 강조하는 부분은 전개도를 만드는 과정에서 생길 수 밖에 없는 "절개선" 이 보이지 않도록 하는 것입니다. 이 절개선을 UV 심(seam) 이라고 합니다. 위 사진에서 초록색으로 하이라이트된 선들이 Seam 입니다.

절개선이 있는 부분에 위치한 텍스처는 인접한 다른 면과의 연결이 어색해지기 때문에 되도록 되도록 카메라 시야에서 보이지 않는 곳에 위치하도록 숨겨주게 됩니다. 절개선의 위치가 중요한 이유는 실제 현실세계의 사물을 생각해보면 쉽게 이해할 수 있습니다.

 

 

위와 같은 총의 나무 부분을 보면, 총 모형에 원목무늬 시트지를 붙여서 만들지 않았을 것입니다. 하나의 통짜 나무를 깎아서 모양을 만들었을 것입니다. 금속부분 역시, 연결되는 부위를 용접하여 연결하거나 금형으로 사출하여 매끈하게 뽑아낸 뒤 볼트와 리벳등을 이용해 조립하였을 것입니다.

그렇기 때문에 각 부품이 연결되는 부위라던지, 하나의 파트에서 돌출이 되는 부분이 자른 뒤 붙인 형태가 아닌 하나의 부드러운 연결형태를 지니게 됩니다. 절개선이나 날카로운 모서리가 없습니다.

그러나 우리는 총 모형에 원목무늬 시트지를 붙여서 텍스쳐를 완성해야합니다. 따라서 절개선이 보이지 않도록 해주어 현실세계의 사물을 가능한 자연스럽게 재현하는 것입니다. 

 

3D모델의 UV작업에서 일반적으로 절개선을 숨기는 룰은 다음과 같습니다.

 

* 잘 보이지 않는 곳에 절개선을 넣는다

* 다른 파트와 겹쳐서 가려지는 부분에 절개선을 넣는다. 예를 들어, 사람 두상을 모델링하는 경우엔 머리카락이 덮히는 위치에 절개선을 넣을 수 있다.

* 만약 카메라 시야에 절개선이 들어올 수 밖에 없다면, 시선이 집중되는 위치는 되도록 피한다. (측면 또는 후면 활용)

 

 

 

 Unwrapping (UV 언랩) 가이드 :: (2) 파트별로 UV island를 나눠줄 것

 

 

위와 같은 복잡한 모델의 UV를 작업할 때는 파트별 텍스쳐를 사전에 구분한 뒤 절개선과 연결부위를 고려하여 UV를 펼쳐주어야 합니다. 보통 UV가 나눠지는 기준은 모델링을 하며 사전에 끊어놓은 하드엣지에 따라 나눠진 스무딩그룹에 의해 결정됩니다.

많은 모델러들이 영상과 튜토리얼을 통해 말하는 UV작업의 가이드는 파트별로 부드럽게 연결이 되는 부위는 하나의 UV island로 펼쳐주고, 끊어지거나 하드엣지로 연결되는 부위는 개별적인 UV island로 나눠주는 것입니다.

 

 

위 사진에서 해당 부위는 각 모서리가 부드러운 곡선으로 연결되는 부위로써, 하나의 UV island로 펼친 것을 볼 수 있습니다. 절개선은 잘 보이지 않는 모서리 엣지 중 하나를 사용합니다. 이렇게 펼쳐진 UV island는 연결되는 다른 면들과의 연결관계를 고려하여 개별적인 스무딩 그룹을 적용해주게 됩니다.

 

곡면, 하나로 연결되어야 하는 UV island가 두 개로 나눠져 있는 상황

 

위 사진에서, 해당 곡면은 자연스러운 연결을 위해 하나의 UV island를 가져야 하지만, 현재는 절개선에 의해 두 개의 UV로 나눠져 있는 상황입니다. 

 

 

절개선을 연결하여 하나의 UV island로 만들어주고, 스무딩 그룹을 적용해주게 되면 UV를 적용했을 때 하나로 연결된 부드러운 곡면의 텍스쳐를 넣을 수 있습니다. 이러한 작업을 파트별로 모두 진행한 뒤의 결과물은 아래와 같습니다.

 

UV island별 스무딩 그룹 적용 전
UV island별  스무딩 그룹 적용 후

 

 

 Unwrapping (UV 언랩) 가이드 :: (3) UV island 바르게 정렬하기

 

모든 UV island의 아웃라인은 U 및 V 축을 따라 수직으로 놓여있는 것이 이상적입니다. 다시 말해, UV의 아웃라인(초록색 선) 이 UV 공간 내에서 비뚤어진 각도로 놓여있지 않아야 합니다.

UV그룹을 잘 나눠놓고, 절개선을 잘 숨겼다 하더라도 텍스쳐가 들어가는 방향과 각도가 모두 제각각이라면, 텍스쳐가 비뚤어져보일 것이기 때문입니다.

 

비뚤어지게 놓인 UV island
올바르게 놓인 uv island

 

 

 Unwrapping (UV 언랩) 가이드 :: (4) 텍스쳐 밀도(해상도) 맞추기 / 나누기

 

 

두 모델의 텍스쳐 밀도가 각기 다를 때
두 모델의 텍스쳐 밀도가 같을 때

모델의 텍스쳐 밀도(해상도)를 통일해줍니다. 같은 모델 내에서 각각의 면이 각기 다른 해상도를 지니고 있으면, 텍스쳐를 적용했을 때 어떤 부분은 지나치게 디테일이 떨어지고, 어떤 부분은 지나치게 디테일이 돋보이게 되기 때문입니다. 의도한 것이 아니라면 텍스쳐의 밀도는 일반적으로 하나로 통일한 뒤 디테일의 정도나 재질에 따라 부위별 해상도를 늘리거나 줄여주게 됩니다. 

 

그러나 밀도를 통일하지 않는 예외도 있습니다. 예를 들어, 하나의 모델에서도 표면에 패턴이나 흠집, 로고 등의 자잘한 디테일이 많이 들어가는 부위일 수록 높은 해상도가 필요할 것이며 그렇지 않은 부위는 상대적으로 낮은 해상도를 지녀도 괜찮을 것입니다.

 

하나의 모델 내에서 텍스쳐의 밀도가 통일되지 않은 UV
하나의 모델 내에서 텍스쳐의 밀도가 통일된 UV

 

거의 모든 3D 프로그램 내에서 버튼 한 번 또는 플러그인 사용을 통해 모델 전체의 해상도를 하나로 통일해 줄 수 있음에도, 각 파트별 해상도를 고려해 볼 필요가 있는 이유는 UV 공간이 한정되어있기 때문입니다.

다수 개의 UV공간을 이용할 수 있는 UV Multi Tile 작업이 아니라, 하나의 단일 공간 내에서 모든 모델의 UV를 펼쳐야 하는 경우에는 한정된 공간 내에서 모델의 모든 UV를 펼쳐야 합니다. 이러한 경우엔 상대적으로 디테일이 많이 들어가는 파트에 더 넓은 UV 공간을 할당해주어야 하는데요

 

 

예를들어 위 모델의 경우, 빨간색으로 하이라이트 되어있는 바닥면은 최종 렌더샷 또는 실시간 렌더화면에서 유저가 절대로 보지 못하는 부위 중 하나일 것입니다. 이러한 부위에 굳이 넓은 면적의 UV 공간을 할당해 줄 필요는 없을 것입니다.

따라서 UV 공간을 알뜰하게 쓰기 위해 불필요한 부위(보이지 않는 부분, 바닥면, 아주 작은 부품 등) 의 UV island는 아주 작게 줄이고, 다른 큰 파트의 UV 사이즈를 더 크게 키워주는 것이 효율적일 것입니다. 이러한 이유로 UV별 해상도를 각각 다르게 적용할 필요가 있는 것입니다. 

 

 

 Unwrapping (UV 언랩) 가이드 :: 정리 및 요약

 

3D 모델링의 꽃인 텍스쳐링을 위한 UV를 펼치는 가이드라인은 다음과 같습니다.

 

 

(0) 복잡한 모델일 수록 한꺼번에 펼치려 하지말고, 각 파트의 스무딩그룹에 따라 차근차근 UV island를 생성한 뒤 필요한 부위들을 연결해준다.

(1) 펼쳐진 각 UV island의 아웃라인은 U및 V 축에 최대한 수직이 되도록 한다. 

(2) UV island 내에(아웃라인 안쪽) 하드엣지가 포함되지 않도록 한다.

(3) 모델의 흐름을 따라서 UV를 펼쳐야 한다

(4) 하나의 UV island에는 하나의 스무딩 그룹(Smooth Group)을 적용한다.

(5) 텍스쳐의 밀도는 통일하되, 파트별로 중요도에 따라 부분적으로 UV 공간을 더 할애하거나 줄여주도록 한다.

(6) UV 공간은 남는 공간이 없이 촘촘하게 채워서 해상도 낭비를 막는다.

 

 

잘 펼쳐진 UV에 이상적으로 적용된 텍스쳐 렌더링

 

 

 

 

 


작성자 이온 (ion) @ ionn.tistory.com