Tendências do Mercado de Assets 3D
Depois de anos vendendo assets em todas as principais plataformas, aprendi que exportações impecáveis não são um luxo — são a base de um negócio profissional de marketplace 3D. Neste guia, compartilharei as predefinições exatas de exportação do Substance Painter e o fluxo de trabalho que uso para garantir que meus modelos, incluindo aqueles gerados com ferramentas de IA como Tripo, sejam carregados e funcionem corretamente na primeira vez, sempre. Isso é para artistas 3D e artistas técnicos que desejam eliminar erros de upload e construir um pipeline confiável e escalável de criação de assets.
Principais pontos:
Todo marketplace possui um documento de especificação técnica, e ignorá-lo é a maneira mais rápida de ter seu asset rejeitado ou soterrado em avaliações negativas. As constantes universais que sempre verifico são a resolução da textura (deve ser potência de dois, por exemplo, 1024, 2048, 4096), formatos de arquivo suportados (geralmente PNG ou TGA para raster, às vezes TIF) e uma convenção de nomenclatura rigorosa para os mapas de textura. Também verifico requisitos específicos sobre espaço de cor (sRGB para albedo, linear para roughness/metalness) e se canais alfa incorporados são permitidos para certos mapas. Tratar essas especificações como lei economiza inúmeras horas de retrabalho.
No início da minha carreira, eu configurava manualmente cada exportação. O resultado? Nomes de arquivo inconsistentes, profundidades de bits incorretas e uploads falhos devido a compressão não suportada. Uma memória particularmente dolorosa envolve um pacote de 50 assets onde cada normal map foi exportado no formato errado para o motor de destino. Desde aquele dia, opero com um princípio central: nunca exporte manualmente para um marketplace. Uma predefinição é um contrato que garante consistência, e consistência constrói confiança com clientes e algoritmos de plataforma.
Você não pode usar as mesmas configurações de exportação para o Unreal Engine Marketplace e o Sketchfab. O Unreal espera um empacotamento específico de Ambient Occlusion, Roughness e Metallic em uma única textura (ORM), enquanto um modelo GLTF/GLB para a web precisa deles como mapas PBR separados e padrão. Minha solução é uma biblioteca de predefinições dedicada. Não tenho uma predefinição de "Melhor Exportação"; tenho "UE5_Marketplace_4K", "Unity_URP_2K" e "Web_GLTF_2K". Essa abordagem direcionada é a única maneira de atender às necessidades nuances de cada ecossistema.
Antes de tocar em uma configuração de exportação, defino quais mapas preciso. Meu conjunto PBR padrão para um fluxo de trabalho não-metal/rough é: Albedo, Normal, Roughness, Metallic, AmbientOcclusion e, às vezes, Height. Para um fluxo de trabalho spec/gloss, é Diffuse, Normal, Specular, Glossiness. A nomenclatura é crítica. Uso este padrão consistente: {AssetName}_{MaterialID}_{MapType}.png (por exemplo, SciFiPanel_01_Albedo.png). Isso mantém os arquivos organizados para mim e facilmente analisáveis por qualquer sistema de material de motor de jogo.
Meu ponto de partida é sempre a resolução mais alta que pretendo vender (por exemplo, 4K). Crio predefinições para versões 4K, 2K e 1K. Para a profundidade de bits, mapas Albedo/Diffuse são sempre de 8 bits com espaço de cor sRGB. Normal maps são de 8 bits, a menos que eu precise de extrema precisão para um asset principal, então posso usar 16 bits. Mapas em escala de cinza como Roughness e Metallic são sempre de 8 bits. Nunca os exporto como 16 bits; é um inchaço de arquivo desnecessário para assets de marketplace. A chave é definir o "Color Space" por mapa corretamente na caixa de diálogo de Exportação: sRGB para cor, Linear (raw) para todo o resto.
Para Unreal e Unity, uso principalmente PNG. Ele oferece compressão sem perdas e é universalmente suportado. Evito JPEG completamente devido à sua natureza com perdas. Para pacotes de assets muito grandes onde cada megabyte conta, posso usar TGA com compressão RLE, mas PNG é meu padrão. Para formatos web como GLTF, a escolha é frequentemente feita para mim — o padrão é PNG ou JPEG para texturas agrupadas no GLB. No Substance Painter, desativo qualquer "Dithering" para exportações em escala de cinza para evitar introduzir ruído desnecessário.
Esta predefinição é construída para o sistema de material da Unreal. O passo mais importante é configurar a textura ORM (OcclusionRoughnessMetallic) empacotada. Na minha predefinição, defino o canal R para Ambient Occlusion, G para Roughness e B para Metallic. Também garanto que meus normal maps sejam exportados no formato DirectX (o padrão da Unreal). Meu conjunto de texturas geralmente inclui: Albedo, Normal, ORM e, opcionalmente, Emissive. Sempre marco "Output maps in sub-folders" e os organizo em /Textures/.
O pipeline da Unity varia, então minha predefinição é projetada para a mais ampla compatibilidade. Exporto os mapas como arquivos separados: Albedo, Normal, Metallic, Smoothness (inverto meu mapa de roughness para isso) e Occlusion. Para HDRP, posso incluir também um mapa Mask (Metallic, Occlusion, Detail Mask, Smoothness). Uma dica crucial: defino o formato do normal map para OpenGL, pois este é o formato esperado pela Unity. Também evito explicitamente empacotar Occlusion e Smoothness juntos, a menos que esteja criando um asset HDRP dedicado, pois o shader Lit do URP os espera separadamente.
Para modelos visualizáveis na web, a eficiência é fundamental. Minha predefinição exporta o conjunto PBR padrão: BaseColor, Normal, Roughness, Metallic e Emissive. Frequentemente limito a resolução a 2K para manter os tamanhos de download razoáveis. Uso compressão PNG, mas às vezes permito JPEG para o BaseColor se o modelo for muito complexo e a perda de qualidade for aceitável. O passo mais importante aqui é verificar a exportação em um visualizador GLTF local como o Babylon.js Sandbox antes do upload para garantir que todos os mapas estejam corretamente vinculados e exibidos.
Quando trago um modelo do Tripo para o meu pipeline, minha primeira parada nunca é o Substance Painter. Primeiro, verifico a retopologia. Embora a saída do Tripo seja limpa, muitas vezes executo uma rápida passagem de retopologia automatizada para garantir uma estrutura quad otimizada e uniforme para animação ou deformação, se necessário. Em seguida, inspeciono os UVs. Procuro densidade de texel adequada, alongamento mínimo e um layout lógico. Frequentemente, refaço o empacotamento dos UVs para maximizar o espaço e garantir que as ilhas tenham o preenchimento adequado. Essa verificação de 10 minutos evita sangramento de textura e artefatos de baking posteriormente.
Modelos gerados por IA podem ter detalhes de superfície únicos. Para garantir que minhas texturas estejam prontas para produção e sejam tileable em assets semelhantes, uso as ferramentas de baking do Substance Painter. Eu faço o bake de um mapa de detalhes de alta poligonalidade do mesh AI original para o meu mesh de baixa poligonalidade retopologizado. Isso me permite aplicar Smart Materials tileable, mantendo os detalhes únicos de alta frequência do modelo. Este passo é crucial para criar uma aparência coesa e estilisticamente consistente em um pacote inteiro de assets assistidos por IA.
Uma vez texturizado, a origem AI do modelo torna-se irrelevante. Eu o trato como qualquer outro asset e o executo através do meu fluxo de trabalho padrão de predefinição de marketplace. O valor das minhas predefinições é totalmente realizado aqui: se o mesh base foi esculpido à mão, escaneado ou gerado por IA, a exportação para Unreal, Unity ou web é idêntica e garantida para ser compatível. Isso me permite aproveitar a velocidade da IA para ideação e geometria base sem introduzir dívida técnica na etapa final de entrega.
Uso scripts Python simples através da API de Scripting de I/O do Substance Painter para automatizar tarefas de pré-exportação. Um script executa uma auditoria do conjunto de texturas, garantindo que todos os mapas necessários (Albedo, Normal, Roughness) estejam presentes e configurados corretamente. Outro script padroniza todos os nomes de camadas em todo o projeto para corresponder à minha convenção de nomenclatura. Essa automação elimina erros humanos e é especialmente poderosa ao processar em lote vários assets de uma ferramenta como o Tripo.
Uma exportação não está completa até ser validada. Meu processo:
Marketplaces e motores atualizam seus requisitos. Reviso minhas predefinições trimestralmente. Quando o Unreal 5.4 introduziu novos recursos de material, atualizei minha predefinição da UE para exportar opcionalmente um mapa PackedMaterialAttributes. Assino os feeds RSS dos blogs técnicos dos marketplaces Unity e Unreal. Quando um novo formato como Basis Universal ganha maior suporte, crio uma nova predefinição experimental para ele. Minha biblioteca de predefinições é um sistema vivo, não um conjunto estático de arquivos.
O erro mais comum são os canais alfa não intencionais. Exportar um PNG Albedo simples do Painter às vezes inclui um canal alfa vazio, o que pode confundir alguns importadores de motores de jogo. Nas minhas predefinições, defino explicitamente a opção de exportação "Alpha Channel" como "None" para todos os mapas que não exigem transparência (Albedo, Normal, Roughness, etc.). Só ativo "Alpha Channel: Embedded" para mapas que realmente o utilizam, como um mapa de Opacidade ou Recorte.
Para assets com múltiplos IDs de material (por exemplo, um personagem com pele, metal e tecido), organizo meu projeto do Painter com um Texture Set por material. Minha predefinição de exportação é configurada para exportar todos os conjuntos de textura em um único lote, usando a convenção de nomenclatura {AssetName}_{TextureSetName}_{MapType}.png. Isso mantém todos os arquivos de um asset juntos. Também uso um conjunto de textura "Common" para mapas compartilhados, como uma sobreposição global de sujeira, que é baked em cada exportação de material automaticamente.
A consistência em uma equipe é vital. Não compartilho apenas arquivos SPP (projeto do Painter); compartilho o modelo completo do projeto. Isso inclui:
./export-presets/ com todos os meus arquivos de predefinição JSON.assets/ do Substance Painter).
Clique abaixo para se juntar a milhões de criadores 3D. Experimente a geração de modelos de altíssima fidelidade e texturas PBR de primeira linha.