Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

가장 보통의 존재

Marmoset Toolbag으로 완벽한 Mesh Maps 뽑기 (1) 본문

개인 연구

Marmoset Toolbag으로 완벽한 Mesh Maps 뽑기 (1)

Northstar_ 2022. 12. 1. 13:41

 Substance Painter를 사용하여 효과적인 텍스쳐링을 하기 위해선 반드시 Mesh Map들이 필요합니다. 섭스턴스 페인터에서 제공하는 기능인 Generator들을 활용하기 위함이죠.

 

FlippedNormal에서 판매하는 Metal Smart Material with Edge Wear.

위의 이미지와 같은 Smart Material을 제작하려면 섭스턴스 페인터에서 어떤 정보를 필요로 할까요? 특정 Edge가 얼마나 날카로운지, 표면의 의치는 어디인지, 깊게 파인 면은 어디인지 등, 정말 많은 정보가 필요합니다. 하지만 날것의 FBX는 이러한 정보가 포함되어있지 않습니다.

 

Substance Painter의 Metal Edge Wear Generator에서 요구하는 Mesh Map들.

이 정보들이 제공되지 않는다면 섭스턴스 페인터의 Generator는 제대로 된 연산을 수행해 낼 수 없습니다. 당장 Metal Edge Wear Generator에서도 4가지의 맵을 요구합니다.

 

Mesh Map은 Substance Painter에서 요구하고, 뽑아낼 수 있는 Texture Map들을 뜻합니다. 게임에 사용되는 모든 텍스쳐들(Base color, Normal, Roughness 등)은 보편적으로 Texture Map이라 칭하고, 이중 Normal, AO, Curvature, Position 등을 Mesh Map이라 부르는 것이죠. Mesh Map들은 날것의 FBX에서 전달하지 못했던 다양한 정보들을 텍스쳐의 형태로 제공할 수 있는 셈입니다.

 

이후 예제에서 사용되는 모델링은 청강게임스쿨 졸업작품 팀 올림포스의 하늘섬 개발에 참여했을 동안 제작했던 캐릭터인 Gryffin입니다.

 

Gryffin의 Low Poly 모델링만을 사용하여 베이킹한 모습.

그렇다면 이러한 Mesh Map들은 어떻게 뽑아낼 수 있을까요? 기본적으로 Mesh를 Baking 하는 과정을 거쳐야 합니다.

 

출처 : Adobe Support - Bake Mesh Maps

베이킹은 높은 폴리곤 모델링의 데이터를 낮은 폴리곤 모델링에 텍스쳐의 형태로 옮겨넣는 방법입니다. 이렇게 로우 폴리 모델링에 텍스쳐로 디테일을 전달하면 적은 리소스만으로 좋은 효과를 낼 수 있습니다.

 

3ds MAX, Maya, Blender 등의 3D 툴들도 충분히 Normal 맵 등을 베이킹 할 수 있지만, Substance Painter에서 제공하는 Baking 기능은 모든 Mesh 맵을 일괄적으로 뽑아낼 수 있고 속도도 준수하기에 대부분 섭스턴스 페인터에서 베이킹하곤 합니다.

 

하지만 섭스턴스 페인터의 Baker도 마냥 장점만 있는 것은 아닙니다.

 

Substance Painter의 Baking 파라미터.

베이킹에 사용될 Ray가 도달할 수 있는 전면/후면 최대 거리, Ignore Backface, Suffix를 사용하여 Low Poly 모델링과 High Poly 모델링을 매칭시키는 기능 등, 기본적인 기능들은 전부 갖추고 있는 모습입니다. 하지만 섭스턴스 페인터의 베이커가 지니고 있는 치명적인 단점은, 전부 전역 설정이라는 점입니다.

Gryffin의 가방쪽에 생긴 오류.

위의 사진은 가방에 부착된 악세서리가 Max Frontal Distance 이상으로 튀어나와버리며 생긴 오류입니다. 현재 Max Frontal Distance는 0.01로 설정되어 있으니, 이 값을 올리면 해결될 문제라 생각 할 수 있습니다.

고쳐진 AO / Max Frontal Distance 0.01 / 0.02

악세서리쪽의 오류는 수정되었으나, 이번엔 다른 곳에서 문제가 생겼습니다. Max Frontal Distance 값이 지나치게 높아졌기 때문에, 얇은, 겹쳐진 면이 있는 메쉬쪽에서 오류가 생겨버린 것입니다. 전역적으로 값이 변동되었기 때문에 발생한 문제입니다.

 

이를 섭스턴스 페인터의 Baker에서 해결하기 위해선 따로 베이킹용 Cage 메쉬를 제작하면 되긴 하는데, 이 방법은 너무나 번거롭고 끔찍합니다.

 

하지만, Marmoset Toolbag의 Baking 기능을 활용하면 얘기가 달라집니다.

 

Marmoset Toolbag은 고성능의 실시간 렌더 툴로 유명합니다. Artstation에서 3D 모델링을 이리저리 돌려보며 볼 수 있는 기능은 Marmoset을 활용한 경우가 많습니다. 이렇게 렌더링으로 유명한 모습과는 다르게, Marmoset Toolbag은 베이킹 등 다양한 기능을 지원하고 있고, 최근에는 본격적인 텍스쳐링 기능도 제공하고 있습니다.

 

Marmoset Toolbag의 Bake Project는 섭스턴스 페인터의 Baker가 가지고 있는 기본적인 기능들을 전부 갖추고 있고, 거기에 더해 오브젝트별 Cage 설정 및 실시간 베이킹 Preview 또한 가능합니다. 이러한 장점들 때문에 마모셋 툴백을 본격적으로 연구했고, 어느정도 좋은 활용법을 알아냈다고 생각합니다.

 

자세한 베이킹 방법은 2편에.