3D 마켓플레이스를 위한 Substance Painter 익스포트 프리셋: 전문가 가이드

3D 에셋 마켓 트렌드

수년간 모든 주요 플랫폼에서 에셋을 판매하면서, 완벽한 익스포트가 사치가 아니라 전문적인 3D 마켓플레이스 비즈니스의 기반이라는 것을 깨달았습니다. 이 가이드에서는 Tripo와 같은 AI 도구로 생성된 모델을 포함하여, 제 모델이 항상 처음부터 올바르게 업로드되고 작동하도록 제가 사용하는 정확한 Substance Painter 익스포트 프리셋과 워크플로를 공유할 것입니다. 이 가이드는 업로드 오류를 없애고 안정적이고 확장 가능한 에셋 제작 파이프라인을 구축하려는 3D 아티스트 및 테크니컬 아티스트를 위한 것입니다.

주요 내용:

  • 마켓플레이스 성공은 기술 규정 준수에 달려 있으며, 강력한 프리셋 라이브러리는 가장 가치 있는 도구입니다.
  • "만능" 익스포트는 존재하지 않으며, Unreal, Unity 및 웹 형식에 맞는 맞춤형 프리셋이 필요합니다.
  • AI 생성 지오메트리를 통합하려면 리토폴로지 및 UV에 대한 특정 사전 페인팅 체크리스트가 필요합니다.
  • 스크립트를 통한 자동화 및 엄격한 유효성 검사 프로세스는 전문적인 결과물을 위해 필수적입니다.
  • 팀 전체에 표준화된 프리셋을 공유하는 것이 일관성과 품질을 보장하는 가장 빠른 방법입니다.

마켓플레이스 익스포트 프리셋이 필수적인 이유

제가 항상 확인하는 보편적인 마켓플레이스 요구 사항

모든 마켓플레이스에는 기술 사양 문서가 있으며, 이를 무시하는 것은 에셋이 거부되거나 부정적인 리뷰에 묻히는 가장 빠른 방법입니다. 제가 항상 확인하는 보편적인 상수는 텍스처 해상도(2의 제곱수여야 함, 예: 1024, 2048, 4096), 지원되는 파일 형식(일반적으로 래스터의 경우 PNG 또는 TGA, 때로는 TIF), 그리고 텍스처 맵에 대한 엄격한 명명 규칙입니다. 또한 색 공간(Albedo의 경우 sRGB, Roughness/Metalness의 경우 선형) 및 특정 맵에 대해 임베디드 알파 채널이 허용되는지 여부에 대한 특정 요구 사항도 확인합니다. 이러한 사양을 법처럼 다루면 수많은 재작업 시간을 절약할 수 있습니다.

실패한 업로드가 제 프리셋 철학을 형성한 방법

경력 초기에 저는 각 익스포트를 수동으로 구성했습니다. 그 결과는? 일관성 없는 파일 이름, 잘못된 비트 심도, 지원되지 않는 압축으로 인한 업로드 실패였습니다. 특히 고통스러웠던 기억은 50개의 에셋 팩에서 모든 Normal 맵이 대상 엔진에 대해 잘못된 형식으로 익스포트된 경우입니다. 그날 이후로 저는 핵심 원칙에 따라 작업했습니다. 마켓플레이스를 위해 수동으로 익스포트하지 마십시오. 프리셋은 일관성을 보장하는 계약이며, 일관성은 고객 및 플랫폼 알고리즘과의 신뢰를 구축합니다.

만능이 아닌 문제와 제 해결책

Unreal Engine Marketplace와 Sketchfab에 동일한 익스포트 설정을 사용할 수 없습니다. Unreal은 Ambient Occlusion, Roughness, Metallic을 단일 텍스처(ORM)로 특정하게 패킹하는 것을 기대하는 반면, 웹용 GLTF/GLB 모델은 이를 별도의 표준 PBR 맵으로 필요로 합니다. 제 해결책은 전용 프리셋 라이브러리입니다. 저는 하나의 "최고의 익스포트" 프리셋을 가지고 있지 않습니다. "UE5_Marketplace_4K", "Unity_URP_2K", "Web_GLTF_2K"를 가지고 있습니다. 이 타겟팅된 접근 방식만이 각 생태계의 미묘한 요구 사항을 충족하는 유일한 방법입니다.

핵심 프리셋 라이브러리 구축: 단계별 워크플로

제 표준화된 텍스처 세트 및 맵 명명 규칙

익스포트 설정을 건드리기 전에 필요한 맵을 정의합니다. 비금속/거칠기 워크플로에 대한 제 표준 PBR 세트는 Albedo, Normal, Roughness, Metallic, AmbientOcclusion이며, 때로는 Height입니다. Spec/Gloss 워크플로의 경우 Diffuse, Normal, Specular, Glossiness입니다. 명명은 매우 중요합니다. 저는 {AssetName}_{MaterialID}_{MapType}.png (예: SciFiPanel_01_Albedo.png)와 같은 일관된 패턴을 사용합니다. 이렇게 하면 파일이 저에게는 정리되고 모든 게임 엔진의 머티리얼 시스템에서 쉽게 파싱할 수 있습니다.

해상도 및 비트 심도 구성: 제가 설정하는 이유

제 시작점은 항상 판매하려는 최고 해상도(예: 4K)입니다. 4K, 2K, 1K 버전에 대한 프리셋을 만듭니다. 비트 심도의 경우, Albedo/Diffuse 맵은 항상 sRGB 색 공간을 가진 8비트입니다. Normal 맵은 Hero 에셋에 대한 극도의 정밀도가 필요하지 않는 한 8비트이며, 그 경우에는 16비트를 사용할 수 있습니다. Roughness 및 Metallic과 같은 그레이스케일 맵은 항상 8비트입니다. 저는 이것들을 16비트로 익스포트하지 않습니다. 마켓플레이스 에셋에 불필요한 파일 크기 증가입니다. 핵심은 익스포트 대화 상자에서 맵별로 "Color Space"를 올바르게 설정하는 것입니다. 색상의 경우 sRGB, 그 외 모든 것의 경우 Linear (raw)입니다.

파일 형식 및 압축: 품질과 파일 크기의 균형

Unreal 및 Unity의 경우 주로 PNG를 사용합니다. 무손실 압축을 제공하며 보편적으로 지원됩니다. 손실 특성 때문에 JPEG는 완전히 피합니다. 모든 메가바이트가 중요한 매우 큰 에셋 팩의 경우 RLE 압축이 적용된 TGA를 사용할 수 있지만 PNG가 제 기본값입니다. GLTF와 같은 웹 형식의 경우 선택은 종종 저에게 주어집니다. GLB에 번들로 제공되는 텍스처의 표준은 PNG 또는 JPEG입니다. Substance Painter에서 불필요한 노이즈를 도입하지 않도록 그레이스케일 익스포트에 대한 "Dithering"을 비활성화합니다.

플랫폼별 프리셋: 맞춤형 구성

제 Unreal Engine Marketplace 프리셋 (UE5 지원)

이 프리셋은 Unreal의 머티리얼 시스템을 위해 구축되었습니다. 가장 중요한 단계는 ORM (OcclusionRoughnessMetallic) 압축 텍스처를 구성하는 것입니다. 제 프리셋에서 R 채널은 Ambient Occlusion, G는 Roughness, B는 Metallic으로 설정합니다. 또한 Normal 맵이 DirectX 형식(Unreal 기본값)으로 익스포트되도록 합니다. 제 텍스처 세트는 일반적으로 Albedo, Normal, ORM, 그리고 선택적으로 Emissive를 포함합니다. 항상 "Output maps in sub-folders"를 확인하고 /Textures/에 정리합니다.

제 Unity Asset Store 프리셋 (URP/HDRP 호환)

Unity의 파이프라인은 다양하므로 제 프리셋은 가장 광범위한 호환성을 위해 설계되었습니다. 맵을 별도의 파일로 익스포트합니다. Albedo, Normal, Metallic, Smoothness (Roughness 맵을 반전시킵니다), 그리고 Occlusion입니다. HDRP의 경우 Mask 맵(Metallic, Occlusion, Detail Mask, Smoothness)도 포함할 수 있습니다. 중요한 팁: Normal 맵 형식을 OpenGL로 설정합니다. 이것이 Unity가 예상하는 형식이기 때문입니다. URP의 Lit 셰이더는 Occlusion과 Smoothness를 별도로 예상하므로 전용 HDRP 에셋을 만들지 않는 한 Occlusion과 Smoothness를 함께 압축하는 것을 명시적으로 피합니다.

Sketchfab 및 웹용 일반 GLTF/GLB 프리셋

웹에서 볼 수 있는 모델의 경우 효율성이 핵심입니다. 제 프리셋은 표준 PBR 세트인 BaseColor, Normal, Roughness, Metallic, Emissive를 익스포트합니다. 다운로드 크기를 합리적으로 유지하기 위해 해상도를 2K로 제한하는 경우가 많습니다. PNG 압축을 사용하지만 모델이 매우 복잡하고 품질 손실이 허용되는 경우 BaseColor에 JPEG를 허용하기도 합니다. 여기서 가장 중요한 단계는 Babylon.js Sandbox와 같은 로컬 GLTF 뷰어에서 익스포트를 업로드하기 전에 확인하여 모든 맵이 올바르게 연결되고 표시되는지 확인하는 것입니다.

AI 생성 에셋 통합: 제 Tripo AI 파이프라인

Tripo AI 메시에서 Painter로: 제 리토폴로지 및 UV 확인

Tripo에서 모델을 제 파이프라인으로 가져올 때, 제 첫 번째 정류장은 Substance Painter가 아닙니다. 먼저 리토폴로지를 확인합니다. Tripo의 출력은 깨끗하지만, 필요한 경우 애니메이션 또는 변형에 최적의 균일한 쿼드 구조를 보장하기 위해 빠른 자동 리토폴로지 패스를 실행하는 경우가 많습니다. 다음으로 UV를 검사합니다. 적절한 텍셀 밀도, 최소한의 늘어짐, 논리적인 레이아웃을 찾습니다. 공간을 최대화하고 아일랜드에 적절한 패딩이 있는지 확인하기 위해 UV를 다시 패킹하는 경우가 많습니다. 이 10분 검사는 나중에 텍스처 블리딩 및 베이킹 아티팩트를 방지합니다.

마켓플레이스 일관성을 위한 스마트 머티리얼 적용 및 베이킹

AI 생성 모델은 독특한 표면 디테일을 가질 수 있습니다. 텍스처가 프로덕션 준비가 되어 있고 유사한 에셋에 걸쳐 타일링될 수 있도록 Substance Painter의 베이킹 도구를 사용합니다. 원본 AI 메시에서 리토폴로지된 로우 폴리 메시로 하이 폴리 디테일 맵을 베이킹합니다. 이를 통해 모델의 고유한 고주파 디테일을 유지하면서 타일링 스마트 머티리얼을 적용할 수 있습니다. 이 단계는 AI 지원 에셋 전체 팩에 걸쳐 응집력 있고 스타일적으로 일관된 모양을 만드는 데 중요합니다.

제 프리셋을 사용하여 AI 지원 모델을 자신 있게 익스포트

텍스처링이 완료되면 모델의 AI 원본은 중요하지 않습니다. 다른 에셋과 마찬가지로 표준 마켓플레이스 프리셋 워크플로를 통해 처리합니다. 제 프리셋의 가치는 여기서 완전히 실현됩니다. 기본 메시가 수동으로 조각되었든, 스캔되었든, AI로 생성되었든, Unreal, Unity 또는 웹으로의 익스포트는 동일하며 규정을 준수합니다. 이를 통해 아이디어 구상 및 기본 지오메트리에 AI의 속도를 활용하면서 최종 전달 단계에 기술적 부채를 도입하지 않을 수 있습니다.

고급 최적화 및 유효성 검사: 제 최종 확인

I/O 스크립트를 통한 자동화: 익스포트 전에 실행하는 스크립트

Substance Painter의 I/O Scripting API를 통해 간단한 Python 스크립트를 사용하여 익스포트 전 작업을 자동화합니다. 한 스크립트는 텍스처 세트 감사를 실행하여 필요한 모든 맵(Albedo, Normal, Roughness)이 존재하고 올바르게 구성되었는지 확인합니다. 다른 스크립트는 프로젝트 전체의 모든 레이어 이름을 표준화하여 제 명명 규칙과 일치시킵니다. 이 자동화는 사람의 실수를 없애며 Tripo와 같은 도구에서 여러 에셋을 일괄 처리할 때 특히 강력합니다.

엔진 및 뷰어에서 익스포트 유효성 검사: 제 QA 프로세스

익스포트는 유효성이 검사될 때까지 완료된 것이 아닙니다. 제 프로세스:

  1. 즉각적인 시각적 확인: 익스포트된 텍스처를 Adobe Bridge와 같은 뷰어에서 열어 명백한 손상이나 잘못된 색 공간을 확인합니다.
  2. 엔진 임포트: 텍스처와 FBX를 빈 Unreal 또는 Unity 프로젝트(프리셋에 따라 다름)로 임포트합니다. 머티리얼에 적용하고 다양한 조명 조건(HDRi 스카이, 직사광)에서 확인합니다.
  3. 기능 확인: Roughness 맵이 광택에 영향을 미치는지, Normal 맵이 빛에 반응하는지, Metallic 맵이 올바르게 작동하는지 확인합니다.

프리셋 업데이트: 새로운 기술에 맞춰 템플릿을 발전시키는 방법

마켓플레이스와 엔진은 요구 사항을 업데이트합니다. 저는 프리셋을 분기별로 검토합니다. Unreal 5.4가 새로운 머티리얼 기능을 도입했을 때, 저는 UE 프리셋을 업데이트하여 선택적으로 PackedMaterialAttributes 맵을 익스포트하도록 했습니다. Unity 및 Unreal 마켓플레이스 기술 블로그의 RSS 피드를 구독합니다. Basis Universal과 같은 새로운 형식이 더 널리 지원되면 새로운 실험적 프리셋을 만들 것입니다. 제 프리셋 라이브러리는 정적인 파일 세트가 아니라 살아있는 시스템입니다.

흔한 함정과 경험에서 얻은 전문가 팁

제가 보는 알파 채널 실수 (그리고 이를 피하는 방법)

가장 흔한 오류는 의도치 않은 알파 채널입니다. Painter에서 간단한 Albedo PNG를 익스포트하면 때때로 빈 알파 채널이 포함되어 일부 게임 엔진 임포터를 혼란스럽게 할 수 있습니다. 제 프리셋에서는 투명도가 필요 없는 모든 맵(Albedo, Normal, Roughness 등)에 대해 "Alpha Channel" 익스포트 옵션을 명시적으로 "None"으로 설정합니다. Opacity 또는 Cutout 맵과 같이 실제로 사용하는 맵에 대해서만 "Alpha Channel: Embedded"를 활성화합니다.

깔끔한 익스포트를 위한 다중 머티리얼 에셋 관리

여러 머티리얼 ID(예: 피부, 금속, 천을 가진 캐릭터)를 가진 에셋의 경우, Painter 프로젝트를 머티리얼당 하나의 Texture Set으로 정리합니다. 제 익스포트 프리셋은 {AssetName}_{TextureSetName}_{MapType}.png 명명 규칙을 사용하여 모든 텍스처 세트를 한 번에 익스포트하도록 구성됩니다. 이렇게 하면 한 에셋의 모든 파일이 함께 유지됩니다. 또한 전역 오염 오버레이와 같은 공유 맵에 "Common" 텍스처 세트를 사용하며, 이는 각 머티리얼 익스포트에 자동으로 베이킹됩니다.

팀 프로젝트를 위한 제 템플릿 공유 시스템

팀 전체의 일관성은 매우 중요합니다. SPP(Painter 프로젝트) 파일만 공유하는 것이 아닙니다. 전체 프로젝트 템플릿을 공유합니다. 여기에는 다음이 포함됩니다.

  • 비어 있고 올바르게 이름이 지정된 Texture Set이 있는 구성된 SPP 파일.
  • 모든 JSON 프리셋 파일이 있는 ./export-presets/ 폴더.
  • 프리셋 설치에 대한 정확한 단계(Substance Painter assets/ 폴더에 복사)가 포함된 README.txt 파일.
  • 이 시스템은 제가 혼자 작업하든 다른 사람과 작업하든, 마켓플레이스를 위해 생산하는 모든 에셋이 동일한 기술적 기반을 공유하도록 보장합니다.
기사 공유

무엇이든 3D로 생성하세요

아래를 클릭하여 수백만 3D 크리에이터와 함께하세요. 초고정밀 모델 생성과 최고 수준의 PBR 텍스처를 경험해 보세요.