brunch

You can make anything
by writing

C.S.Lewis

UV edit와 Texel density

UV edit(편집)와 Texel density(텍셀밀도)의 개념

어쩌면, 3D CG의 초보자를 위한 포스트가 될 것 같습니다.


Texel Density는 UV를 편집하고 3D CG를 다루다보면 자연스럽게 습득되는 개념이긴 합니다...

설명하기는 조금 복잡한 부분이 있습니다만, 모델을 텍스쳐링 하기 전에 준비시키는 UV편집 단계에서 대단히 중요한 개념이긴 합니다.

우선 UV를 편집하다보면, 자연스럽게 고민이 되는 부분인에요...

아래 프리즘 모델의 예를 보시면,

왼쪽은 3D view 이고 오른쪽은 UV 에디터 뷰입니다. 오른쪽에 보시면 UV 쉘들이 있고, 남은 공간이 굉장히 많은 것을 보실 수 있을 텐데요... (UV에디터 자체를 보실 줄 모르실 정도의 초보자 이시면, 따로 UV 에디터에 대해 공부하시고 보셔야 할 것 입니다 ^^;)


UV를 이렇게 편집한 상태로 텍스쳐를 씌우게 되면 아주 많은 부분이 낭비 되겠죠... (오른쪽 UV Editor 뷰에서 보시면 모델의 UV Shell이 차지하고 있는 면적보다 아무것도 없이 버려지는 면적이 더 넓어 보이죠. 이 상태로 텍스쳐를 씌운다면, 텍스쳐에서 버려지는 픽셀이 사용되는 픽셀보다 더 많을 것입니다)


여기에서 텍스쳐의 해상도는 고정되어 있는 것이 아닙니다. 나중에 2K, 4K, 8K 어떤 텍스쳐던지 어쨌든 정사각형 형태로 씌우게 될 것입니다. 그래서 일종의 텍스쳐 픽셀이라는 의미의 텍셀이라는 개념을 사용합니다. 


위 프리즘 모델의 UV 경우라면 많은 텍셀이 낭비되고 있는 것입니다.

 위 이미지처럼 UV를 수정하면, 최대한 텍셀의 낭비를 없애면서 UV를 편집 한 것이겠죠... 하지만, 여전히 남아서 낭비되고 있는 텍셀은 존재합니다.


사실 UV편집에서 정점이란 것은 마음대로 2D 공간 상에서 이동 시켜 편집할 수 있어서 완전히 빈 텍셀이 없이 꽉 채워버릴 수도 있는데, 왜 여전히 저렇게 버려지는 텍셀이 존재하도록 비워 둔 것일까요?


그 이유는 대부분 알고 계신대로 왼쪽 모델이 가진 각각의 폴리곤 형태를 UV상에서도 최대한 유지시키면서 텍셀을 최대로 활용하려고 하다보니 이렇게 된 것입니다.


과거 (특히 일본게임 캐릭터 등에서 많이 볼 수 있었는데, 아마도 콘솔게임기 하드웨어의 텍스쳐 픽셀 처리 능력과 관련이 있겠죠) 게임 캐릭터의 UV를 보시면 흥미로운 점을 발견할 수 있는데요...

전에는 그닥 어렵지 않게 찾을 수 있었는데, 이제는 이렇게 까지 한 텍셀도 놓칠 수 없다는 일념으로 UV를 stretch 시켜서 편집하지는 않아서 캐릭터 전체를 이런 식으로 완벽하게 채워서 UV편집한 이미지를 찾기가 어렵네요. ^^;


원 모델의 형태에 가깝게 UV를 두느냐, 아니면 왜곡이 되더라도 최대한 텍셀을 낭비하지 않도록 하느냐는 상황과 모델에 따라서 다르기 때문에 3D아티스트가 선택해야 될 문제일 것입니다.


다만, 텍셀을 최대한 낭비하지 않으면서도 원래 모델의 형태에서 왜곡이 덜 되도록 균형있게 UV를 편집하는 기술이 요구되는 것은 기본적으로 UV편집의 방향 입니다... 


둘 사이에 어느 정도에서 접점을 찾느냐는 모델과 상황에 따라서 선택해야 할 문제라는 것입니다.


하드웨어 성능이 문제가 되는 경우는, 특히 텍스쳐의 픽셀처리 부분이 어려운 하드웨어라면, 왜곡이 되더라도 최대한 텍셀 낭비가 없는 쪽에 더 무게를 두어야 하겠습니다. 그렇지 않으면, UV의 형태가 모델의 원래 형태를 유지하는 쪽에 더 무게를 두어서 텍스쳐 페인팅과 이음새 문제가 최대한 덜 발생하도록 하는 것이 좋겠습니다. (좀 더 설명드리면, 모델의 형태를 가지고 있으면 UV를 보면서 포토샵 등에서 페인팅 할 때, 매우 편리할 것입니다. 또한 최대한 조각나 있지 않으면, 이음새 부분도 그만큼 적게 되겠지요)


최근에는 Mari , Substance Painter 등 3D 모델 위에 직접 페인팅하면서도 여러가지 좋은 기능들을 제공하는 소프트웨어가 있어서 굳이 포토샵 등에서 텍스쳐를 페인팅하고 제작하지 않다보니 예전만큼의 제약은 많이 약해졌습니다.

David Domingo Jiménez shows how he models, textures and lights his robotic character, Crazy.

위 이미지 정도로 조각을 많이 내서 빈 텍셀을 채우기도 합니다.


다음은 보통 UV를 보여줄 때, 체크 무늬가 텍스쳐된 모델을 많이 보여주는데 그 이유에 대해서 설명하겠습니다.


이 체크무늬를 테스쳐로 씌워서 텍스쳐가 모델이 입혀졌을 때, 어느 정도나 텍셀 해상도가 모델에 보여질지 그리고 테스쳐가 왜곡될 수 있을지를 확인해 보려는 의도입니다.

위 이미지처럼 UV를 편집했습니다. 왼쪽 폴리곤모델을 보면, 체크 무늬가 정사각형으로 고르게 분포되어 있던것이 이제는 확실히 왜곡되어 보입니다. 정확히 정사각형으로 고르게 보이면 왜곡이 없는 것입니다.

다음은 Texel Density라고 불리는 용어에 대한 설명도 포함 될 텐데요.


위 이미지를 보시면, 아래 위 삼각형 폴리곤 부분에 비해 기둥부분의 사각형 폴리곤 부분은 매우 작게 편집했습니다. 차지하는 텍셀이 매우 작은 것이죠... 즉, 텍셀 밀도(Texel Density)가 매우 작게 된 것입니다.


이렇게 되면, 왼쪽 뷰에서 보이 듯이 실제 모델에서 체크 무늬가 상대적으로 매우 크게 보입니다. (위, 바닥의 삼각형 부분에 비해 기둥 사각부분의 체크가 상대적으로 매우 크다는 말입니다)


체크 무늬가 크게 보이고 대신에 그 체크 무늬의 숫자는 적겠죠... 이렇게 보이면 텍셀밀도(Texel Density)가 그만큼 낮은 것입니다.


이를 맞춰 줄 수 있는 기능이 요즘 Maya UV editor 에서 새로 추가되어 있습니다. 

Maya의 UV Toolkit 에서 Transform 탭 내에 Texel Density(px/unity) 을 찾으실 수 있을 것입니다.


삼각형의 UV Shell을 선택하시고 Get을 눌러 보세요. 

Get 버튼 옆에 숫자가 보이실텐데 이것이 Texel Density 수치입니다. 

다음은 이 Texel의 Density 대로 다른 원하는 UV의 Shell 에 적용시켜보겠습니다.

사각형 폴리곤으로 구성된 기둥 부분의 UV Shell을 모두 선택합니다

그리고 이번엔 Set 버튼을 누릅니다. 

그러면 아래 이미지 처럼 선택했던 사각 폴리곤 UV Shell의 크기가 변했습니다.

UV 에디터 상에서 위치는 다시 잘 옮겨주세요

다시 정리하면 삼각형 UV Shell의 texel density 값을 가져와서 사각 UV Shell에 적용 했기 때문에, 이 모델의 모든 UV들은 같은 Texel Density를 같게 된 것입니다.


이렇게 전체에 걸쳐 같은 texel density를 적용할 수도 있지만, 모델에서 부분별로 텍스쳐 밀도가 더 필요한 경우도 있을 수 있습니다. 


인간형 캐릭터의 경우 특히 하이 퀄리티의 캐릭터인 경우에 얼굴부위에 좀 더 높은 Texel Density를 주고 싶은 경우가 있습니다. 


쿼터뷰 형식의 게임인 경우는 덜하겠지만, 디트로이트 비컴 휴먼같은 인터렉티브 게임의 경우 얼굴 클로즈업이 많아서 특히 얼굴에 더 많은 texel을 주는 경우도 있습니다.


이런 경우라면 부위별로 다른 Texel Density를 가질 수도 있겠지요...


텍스쳐 왜곡에 관한 부분은 하나의 폴리곤에 너무 많은 왜곡이 일어나지는 않도록 적절하게 해주시는 방향으로 UV를 편집하는 것이 좋습니다.


아래는 참고영상으로 Texel Density는 무엇인가 그리고 마스터하는 법이라는 YouTube Malcom341의 영상입니다


https://www.youtube.com/watch?v=5e6zvJqVqlA

Click here to subscribe https://www.youtube.com/malcolm341?su...

To support this channel go here https://gumroad.com/malcolm341

Tutorial explaining what texel density is, how to use it, and some tools you can use to set correct texel density easily on your models in Autodesk Maya.

Download the 2048 checker texture from the video here

https://drive.google.com/file/d/1KBgc2LmG_4W-PP42M1ZA7szvGH1THeRY/view


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari