본문 바로가기
Substance Painter

서브스턴스 페인터에서 베이킹 노말맵 자세히 알아보기

by Kimslo 2022. 11. 2.

서브스턴스 페인터에서 베이크 하는 방법을 알아보도록 하겠습니다.

 

서브스턴스 페인터 베이킹 노말맵 

 

베이크란, 로우 폴리에 하이 폴리를 입혀주는 것입니다. 지난번에 나무 박스 만들면서 다루었지만, 다시 간단하게 정리하겠습니다.

 

https://kimslo.tistory.com/entry/%EC%84%9C%EB%B8%8C%EC%8A%A4%ED%84%B4%EC%8A%A4-%ED%8E%98%EC%9D%B8%ED%84%B0-%EB%B2%A0%EC%9D%B4%ED%82%B9%ED%95%98%EA%B8%B0

 

서브스턴스 페인터 베이킹하기

지난 글에서 나무 박스 하이폴리 작업까지 마쳤습니다. 그럼 텍스쳐를 입혀야 하는데, 그 작업은 서브스턴스 페인터에서 할 것입니다. 그리고 직접적인 텍스쳐링을 하려면 우선 베이킹을 해야

kimslo.tistory.com

 

먼저 서브스턴스 페인터를 실행합니다. 

 

New Project 생성 창
New project 생성 창

 

New를 클릭하여 새로운 프로젝트 창을 띄웁니다. Template은 기본 세팅되어 있는 PBR-Metallic Roughness로 둡니다. 작업이 끝난 후에, Export 할 때 원하는 대로 텍스쳐를 뽑을 수 있습니다. 텍스쳐 사이즈도 2048이라고 되어있는 데 그대로 둡니다. Normal Map Format은 Direct X, Open GL이 있는데 엔진을 어떤 것으로 쓰느냐에 따라 선택이 달라집니다. 언리얼은 DirectX, 유니티는 Open GL입니다. File에서 로우폴리 오브젝트를 가져옵니다. 

 

서브스턴스 페인터 기본 화면
서브스턴스 페인터 기본 화면

 

그럼 그림과 같이 로우폴리 오브젝트가 뜹니다. 그럼 바로 좌측 Bake Mesh Maps를 클릭하여 Baking 창을 띄웁니다. 최근 버전 서브스턴스 페인터는 Baking 화면으로 전환이 됩니다.

 

베이킹 창 이미지
베이킹 창

 

High Definition Meshes에서 하이 폴리 오브젝트를 불러옵니다. 그리고 노말만 체크합니다. Use Cage를 체크하면 내가 만든 케이지를 불러올 수 있습니다. 케이지란, 로우 폴리에 하이 폴리를 굽기 위한 경계라고 생각하면 됩니다. 맥스에서 cage를 만들 수 있습니다. 맥스에서 노말을 구울 때를 보면 케이지가 너무 작거나 크면 노말이 잘 안 나오는 경우가 있습니다. 

보통은 케이지를 불러오지 않고, Max Frontal Distance, Max Rear Distance의 수치를 조절해 줍니다. 일반적인 경우를 세팅되어 있는 경우를 그대로 두고 베이크 하면 됩니다. 하지만 케이지가 중요한 경우가 있는데, 떨어진 면과 면이 가까운 경우 케이지가 면이 겹쳐서 노말이 겹치게 나오는 경우가 있어서 그럴 때 두 개의 수치를 조정해서 베이크 해보며 맞추면 됩니다. 현재 서브스턴스 페인터에서 케이지가 표시되고 또한 케이지가 메쉬를 제대로 감싸져 있지 않을 때에 빨갛게 표시가 됩니다. 그것을 확인하면서 두 개의 수치를 조정하면 됩니다.

우선 시범적으로 노말을 뽑는 것이기 Antialiasing은 None으로 둡니다. Match는 그냥 둘 것인지 이름에 맞춰 베이크 할 것인지를 체크하는 것입니다. 면과 면이 맞닿는 오브젝트라면 by name으로 바꿔서 베이크 하면 됩니다. 이름은 _low, _high로 되어 있어야 맞춰서 베이크 됩니다. 하지만 이름을 바꿔줄 수 있습니다. 우선 기본 세팅된 상태로 베이크 합니다. 

 

노말만 구워진 상태
노말만 구워진 상태

 

잘 나온 듯 하지만, 아래 그림을 확인해보겠습니다. 

 

노말이 잘 안 구워진 상태
노말이 잘 안 구워진 상태

 

뒷면을 확인해보니 노말이 잘 안 나온 것을 확인할 수 있습니다. 확인해 보니 로우 폴리 메쉬가 하이폴리에 딱 맞게 모델링 되어 있지 않아서였습니다. 그래서 수정 후 다시 불러와야 하는 데, 이럴 때 로우폴리 메쉬만 바꿀 수 있습니다. 

 

메쉬 교체하는 방법

 

서브스턴스 페인텅 상단에서 Edit - Project configuration 창을 엽니다.

 

Project configuration 창
Project configuration 창

 

Project configuration 창이 뜨면, Select를 클릭해서 메쉬를 선택하고 하단에서  OK를 클릭합니다. 

 

노말이 잘 구워진 뒷면
노말이 잘 구워진 뒷면

 

메쉬를 새로 불러와서 다시 베이크를 하면 노말이 잘 구워진 것을 위 그림을 보면 확인할 수 있습니다. 잘 구워진 것을 확인했다면 나머지 다른 맵을 구워주면 됩니다. Bake mesh map을 클릭해서 베이킹 화면으로 전환합니다.

 

Baking 창
Baking 창

 

필요한 맵을 체크하고 Antialiasing 수치를 높인 후에 베이크를 합니다. 

 

베이크 완료
베이크 완료

 

이 그림을 보면, 베이크가 잘 된 것을 확인할 수 있습니다.

 

이렇게 서브스턴스 페인터에서 노말맵 베이크에 대해 자세히 알아보았습니다. 

댓글