현대의 3D 게임 그래픽에서 물리 기반 렌더링(PBR)은 사실적인 시각적 결과물을 얻기 위한 표준으로 자리 잡았습니다. 그러나 PBR의 도입은 Albedo, Normal, Metallic, Roughness, Ambient Occlusion 등 다수의 텍스처 맵을 요구
도입 및 개요
현대의 3D 게임 그래픽에서 물리 기반 렌더링(PBR)은 사실적인 시각적 결과물을 얻기 위한 표준으로 자리 잡았습니다. 그러나 PBR의 도입은 Albedo, Normal, Metallic, Roughness, Ambient Occlusion 등 다수의 텍스처 맵을 요구하며, 이는 필연적으로 막대한 텍스처 메모리(VRAM) 소모를 야기합니다. 특히 모바일 기기나 메모리가 제한된 콘솔 환경에서는 텍스처 메모리 최적화가 프로젝트의 성패를 가르는 핵심 기술 과제입니다. 본 칼럼에서는 업계 표준 텍스처링 툴인 Substance Painter를 활용하여 PBR 텍스처 메모리를 극적으로 압축하고 최적화하는 테크니컬 아트 기법들을 상세히 파헤칩니다.
가장 기본적이면서도 강력한 최적화 기법은 채널 패킹(Channel Packing)입니다. RGB 텍스처는 3개의 흑백 채널(Red, Green, Blue)과 1개의 알파(Alpha) 채널을 가집니다. Metallic, Roughness, Ambient Occlusion(AO) 맵은 각각 흑백(Grayscale) 정보만을 담고 있으므로, 이를 개별적인 텍스처로 저장하는 것은 엄청난 낭비입니다. Substance Painter의 Export Configuration을 활용하면 Red 채널에 Ambient Occlusion, Green 채널에 Roughness, Blue 채널에 Metallic을 묶어 하나의 RMA(또는 ORM) 텍스처로 패킹할 수 있습니다. 이를 통해 3장의 텍스처를 1장으로 줄여 메모리 사용량을 1/3로 극적으로 감소시킬 수 있으며, 셰이더의 샘플러(Sampler) 호출 횟수도 줄어들어 렌더링 퍼포먼스 향상까지 도모할 수 있습니다.
비트 심도(Bit Depth)와 색 공간(Color Space)에 대한 이해도 필수적입니다. Base Color(Albedo)는 인간의 눈이 민감하게 반응하는 색상 정보를 담고 있으므로 sRGB 색 공간을 사용해야 합니다. 반면 Normal, Roughness, Metallic 맵 등은 수학적인 데이터를 담고 있으므로 반드시 Linear 색 공간으로 익스포트 및 엔진에 임포트되어야 합니다. 특히 Normal Map의 경우 8-bit 환경에서는 밴딩(Banding) 현상이 발생할 수 있어 디테일이 중요한 에셋의 경우 16-bit로 굽는 경우가 많으나, 이는 메모리를 두 배로 차지합니다. 이러한 경우 디더링(Dithering) 기법을 활용하여 8-bit 상태에서도 부드러운 그라데이션을 표현하게끔 처리하는 것이 메모리 최적화의 핵심 팁입니다.
또한 하드웨어 기반 텍스처 압축 포맷(BC7, ASTC 등)을 고려한 텍스처링 전략이 필요합니다. PC와 최신 콘솔에서 널리 쓰이는 BC7 압축이나 모바일 환경의 ASTC 포맷은 블록 단위로 텍스처를 압축합니다. Substance Painter에서 노이즈가 과도하게 많거나 픽셀 단위로 색상이 급격하게 변하는 텍스처를 제작하면 압축 알고리즘의 효율이 떨어져 아티팩트(블록 현상)가 심하게 발생할 수 있습니다. 따라서 마이크로 디테일은 타일링 가능한 Detail Normal Map으로 분리하여 엔진 셰이더에서 합성하고, 고유 텍스처(Unique Texture)에는 큰 형태의 덩어리감 위주로 베이킹하는 방식이 메모리 효율과 퀄리티 면에서 압도적으로 유리합니다.
핵심 분석
마지막으로 트림 시트(Trim Sheet)와 데칼(Decal) 맵의 적극적인 활용입니다. 큰 환경 구조물이나 반복되는 프랍에 매번 새로운 텍스처를 할당하는 것은 비효율적입니다. Substance Painter에서 다양한 질감과 디테일(나사, 패널 라인, 스크래치 등)을 모아둔 하나의 트림 시트를 제작하고, UV 매핑 단계에서 이 텍스처를 재사용하도록 설계해야 합니다. 이렇게 텍스처의 재사용성을 극대화하고 해상도를 지능적으로 분배하면, 제한된 메모리 예산 안에서도 시각적으로 풍성하고 디테일한 PBR 환경을 구현할 수 있습니다. 텍스처 메모리 압축은 단순한 용량 줄이기가 아니라 엔진의 렌더링 파이프라인에 대한 깊은 이해를 바탕으로 이루어지는 정교한 아트 엔지니어링입니다.