Substance Painter 베이크 텍스처 (input maps)
Substance Painter 베이크 시 다양한 기능을 하는 텍스처들을 만들어냅니다. 이 베이크 작업이 왜 필요한지와, 베이크 작업시 생성되는 텍스처들에 대해 살펴보겠습니다.
Bake 하는 이유
Bake란 열로 굽다라고 하는 사전적 의미를 가지고 있고
Substance Painter 베이크는 3D 모델에 대한 다양한 정보를 계산해서 2D 이미지 (텍스처) 로 변환하는 프로세스를 의미합니다. 모델의 표면 정보를 텍스처로 저장해놓고 빠르고 가볍게 사용합니다.
섭페의 다양한 기능들은 Bake된 맵을 기반으로 작업됩니다.
베이크를 하지 않은 상태로 제너레이터(Generator)의 속성(Properies)를 보면 Image inputs에 X표시로 텍스처 정보가 없다고 나오는 걸 확인할 수 있는데요.
Curvature 제너레이터의 경우, 위 Curvature, World Space Normals, Position Gradient 텍스처맵을 사용 해야 지만 속성을 제어 할 수 있기 때문에
우리는 Bake를 통해서 텍스처 정보를 생성해야지 만 섭페의 다양한 기능들을 제대로 사용할 수 있겠습니다.
다음으로 베이크 시 생성되는 텍스처들에 대해서 살펴보고, 주로 어떻게 사용되는지도 알아보도록 하겠습니다.
Input maps
Substance Painter 베이크 작업시 다양한 기능의 텍스처를 베이크할 수 있습니다. 이러한 텍스처들은 모델의 다양한 특징을 나타냅니다. 필요에 따라 이러한 텍스처들을 선택하거나 해제하여 필요한 결과물만을 얻을 수도 있습니다.
위 텍스처들이 어떻게 생성되는지 알고 있다면, 사용자는 Substance Painter를 효과적으로 활용하여 모델에 다양한 표현을 할 수 있습니다. 여기서는 주요 텍스처들을 하나씩 살펴보겠습니다!
노말맵 (Normal map)
“노말맵”이란 모델 표면의 입체적인 정보를 텍스처로 계산해서 빛이 모델을 비추었을 때 빛의 방향을 정보에 맞게 반사 시켜줍니다.
하이폴리곤모델링의 정보를 로우폴리곤모델링에 적용하면, 아래처럼 로우폴리곤을 하이폴리곤 모델링처럼 보이게 됩니다.
(좌) 데이터를 최적화 하여 폴리곤의 수가 적기 때문에 표면 형태가 많이 깨져 있는데,
(우) 노말맵을 적용하여 , 하이폴리곤의 정보에 입각하여 빛을 반사하기에 형태가 제대로 표현됩니다.
*다만 텍스처로 각진 실루엣을 부드럽게 해줄 순 없기 때문에 노말맵을 사용해도 실루엣은 각지게 보입니다. 게임에 적용된 모델링들을 잘 살펴보면 이러한 특성을 확인 할 수 있어요.
*노말맵은 빛의 연산에 적용되기 때문에 빛이 있는 환경이 있어야 텍스처의 정보가 제대로 표현됩니다.
월드 스페이스 노말맵 (World Space Normal Map)
“월드스페이스노말맵”이란 모델의 표면노멀을 월드, 즉 3D공간에서 표현한 맵으로, 3D 모델이 어떤 방향을 향하고 있는지를 나타냅니다.
표면의 방향을 텍스처로 제어할 때 사용되며 ‘Wolrd Space Normals’ 제너레이터를 활용하면 월드노말 정보를 바탕으로 공간감을 텍스처로 표현할 때 효율적입니다.
Base Color (환경 빛을 없앤, Only color)에서도 맵을 활용하여 형태에 따른 빛 표현이 가능합니다.
ID맵 (Identification Map)
“ID맵”은 각 부분에 고유한 식별자를 할당하여 효과를 적용할 때 사용되며, 보통은 컬러값을 다르게 할당해서 Color Mask를 활용하여 작업합니다.
이 부분은 따로 ID맵을 적용하고 사용하는 방법에 대해 포스팅하겠습니다.
앰비언트 오클루전 맵 (Ambient Occlusion Map)
“앰비언트 오클루전 맵”은 물체의 표면이 접하는부분, 홈이 파인 부분이나 틈새를 어둡게 텍스처로 만들어냅니다.
Shadow처럼 빛을 받는 부분은 밝고 빛이 지는 부분에 어둠이 생기는게 아니라,
물체가 공간에 노출되어 있는 지에 따라 완벽히 노출되어있는부분은 1(흰색)의 수치를 가지고 공간을 가리는 무언가에 의해 폐색 되어지는 부분은 0(검은색)에 가까운 수치를 가집니다.
현실에서 방의 구석이나 물체가 맞닿아 있는 부분은 어둡게 보이는데 동일한 Ambient Occlusion 효과입니다.
섭페에서 Ao맵을 활용, 어두운 부분을 강조하여 3D 모델의 입체감을 표현하는데 효율적입니다.
커버처맵 (Curvature map)
“커버처맵”은 모델의 곡률에 따라, 각 부분의 텍스처를 생성합니다.
바깥으로 각진 모서리같은 부분을 1(흰색)로, 안쪽으로 패인 홈같은 부분을 0(검정색)으로 생성합니다.
현실에서 물체의 표면은 튀어나온 부분이나 모서리가 주변에 닿아 마모되는 경향이 있습니다.
Substance Painter의 Curvature Map(곡률 맵)은 이러한 현상을 텍스처에 적용할 수 있습니다.
포지션맵(Position map)
“포지션맵”은 모델의 각 부분의 월드 좌표를 나타내는 맵입니다. 이 맵은 각 점(Vertex)이 어느 공간상에 위치하는지를 텍스처로 표현합니다.
섭페에서 Mask에 ‘포지션 제너레이터’를 활용하여 아래로 갈수록 어두워지는 그라디언트 효과를 주어 입체감을 올리기는 경우가 많습니다.
두께 맵 (Thickness Map)
“두께맵”은 모델 표면에서 내부로 향하는 거리를 나타내는 맵입니다. 이 맵을 기반으로 빛의 투과를 계산하여 SSS같은 투과와 관련된 효과를 낼 수 있습니다.
새로 생긴 기능 Height, Bent normals,Opacity
높이맵(Height map), 벤트 노말맵 (Bent normals map), 불투명도 맵(Opacity map)은 Substance painter 베이크에 8.1버전에서 새로 생겼습니다.
각 텍스처들은 아래와 같은 기능을 하는 맵으로 필요에 따라 mask맵, Generator에 적용하여 사용하면 되겠습니다
- height Map (높이 맵): 모델의 표면에서 높이 정보를 나타내는 맵입니다. 주로 디테일한 입체적인 표현이 필요한 부분에 사용되며, 높이 정보를 기반으로 텍스처를 만들어 입체감을 부여합니다.
- Bent Normals Map (벤트 노멀 맵): 모델의 각 표면에서 주변 빛의 방향을 나타내는 맵입니다. 그냥 Normal과의 차이점은 Ao맵을 함께 연산 생성하여 조금 더 빛의 방향을 정상적으로 표현합니다.
*빛은 폐색된 부분에서는 덜 반사되겠죠? 그걸 더 표현해주는 normal map으로 섭페에서는 함께 사용되며 더 자연스러운 텍스처를 만들수 있게 합니다. - Opacity Map (불투명도 맵): 모델의 각 부분이 얼마나 투명한지를 나타내는 맵입니다. 이 맵을 사용하여 모델의 일부를 투명하게 만들때 사용합니다.
이상으로 Substance Painter 베이크를 통해 생성되는 맵들의 특성과 주로 사용되는 방법에 대해 알아보았습니다.
다음엔 제작된 텍스처맵들이 어떻게 Export (내보내기) 되어지는지 알아보겠습니다.