.fbx export porque não há materiais ou texturas?

Usei texturas de nó em uma malha que exportei para .FBX.

Em seguida, importei para Unreal Engine 4 e não ” para importar quaisquer texturas; cliquei na opção Carregar Texturas no Unreal Engine.

Há algo que estou fazendo de errado ou é o Blender?

Comentários

Resposta

Esta é uma pergunta frequente.

TL; DR

A maioria dos formatos de arquivo simplesmente não suporta a exportação de texturas, muito menos definições de material totalmente desenvolvidas ou outros recursos específicos do aplicativo . a maioria dos importadores / exportadores do Blender não suporta bem materiais baseados em nós.

Reproduza manualmente seus materiais usando as texturas disponíveis no ambiente de destino.

Longa história

Os materiais são muito específicos de implementação e fortemente vinculados ao sistema de renderização a que pertencem para ou software com o qual foram criados. Você não pode, na maioria das vezes, importar / exportar definições de materiais entre aplicativos, você não pode nem mesmo fazer com que os materiais internos do Blender funcionem com o Cycles Renderer nem vice-versa, e ambos são criados com o Blender, muito menos entre aplicativos completamente diferentes .

Por este motivo nenhum formato de arquivo que você usa pode, ou mesmo tenta, importar ou exportar propriedades de materiais, seja 3DS, FBX, Collada, STL, OBJ ou qualquer outro. Em sua maioria, são formatos de arquivo centrados em geometria, somente malha, preocupados com a portabilidade de formas de objetos e, algumas vezes, animação, armadura e sombreamento básico ou propriedades de cor (como arquivos MTL); nunca definições completas de materiais complexos.

Simplesmente não há estruturas de dados nas especificações para a maioria dos formatos de arquivo de intercâmbio para acomodar esses dados, muito menos todos os tipos possíveis de propriedades, configurações ou mapas; e mesmo se houvesse, existem muitas implementações de renderização diferentes para uma variedade de propósitos e respondendo a requisitos distintos (como velocidade ou capacidade de resposta para motores ou jogos de renderização em tempo real ou realismo para “renderizações offline” baseadas fisicamente), e cada uma usando seu próprio conjunto diferente de parâmetros e maneiras particulares de interpretar propriedades específicas para poder combinar configurações, parâmetros ou recursos particulares entre eles facilmente.

Por exemplo, a maioria dos sistemas de renderização em tempo real precisa de alguma forma de opção " seleção da face posterior " explícita porque a rasterização depende muito dela por motivos de desempenho, mas na renderização como Cycles é apenas um nó básico porque para raytracers, é irrelevante a direção que uma geometria enfrenta. Por outro lado, sombreadores de vidro e transparentes " funcionam " com grande refração em raytracers, mas em EEVEE você precisa mexer com a mistura modos e configurações de transparência, inexistentes em Cycles, porque representar interações de objetos é caro e complexo para rasterizadores.

Alguns canais de textura mais comuns com base em imagens podem, algumas vezes, ser preservados corretamente, como difuso, especular, brilho ou o cada vez mais populares " fluxos de trabalho PBR ", mas certamente nunca geradas por procedimento e / ou coordenadas de textura geradas, são geradas no momento da renderização e podem “para ser exportado. Tenha em mente que a maioria dos exportadores do Blender nem mesmo suporta o nó Cycles materiais baseados em todos (no momento de escrita para o Blender 2.79 #), portanto, mesmo as texturas de imagem usadas nas árvores de nós Cycles provavelmente não serão preservadas. / p>

O mesmo se aplica a muitos outros recursos específicos para aplicativos ou mecanismos de renderização, como parâmetros de iluminação, configurações de sombra, lâmpadas, câmeras, simulações físicas (fluidos, tecidos, corpos macios), opções de textura (fixação, recorte, ladrilho, ajustes de cor), coordenadas de textura geradas (qualquer coisa não mapeada explicitamente por um mapa UV ou criada ao desembrulhar uma malha), opções de materiais (seleção da face posterior, sombras, visibilidade, transparência e modos de mistura) sistemas de partículas, simulação de fumaça e fogo, dados volumétricos, modificadores, transformação de formas (como chaves de forma ou animações baseadas em deformação) e outros " os dados gerados " também não podem ser importados ou exportados (com algumas exceções).

Como resolver então?

Tudo o que você pode e deve importar / exportar são coordenadas UV com sua malha, para que possa aplicar corretamente suas texturas no " aplicativo de destino " , mecanismo de jogo ou ambiente de renderização receptora, onde você estará importando e exibindo seu modelo , seja Unreal, Unity, Gamekit, software de renderização externo ou outros enfeites; ou até mesmo o próprio Blender ao importar modelos de outro lugar. Os mapas UV são geralmente preservados corretamente pela maioria dos formatos de arquivo de troca por padrão.

Lá você deve gastar algum tempo recriando seus materiais do zero novamente com as texturas fornecidas e mapas disponíveis. Sim, isso requer alguns retrocessos e levará algum tempo, mas com a prática ficará mais rápido. Salve presets em bibliotecas reutilizáveis quando disponíveis, para reduzir a quantidade de repetição.

O que você pode fazer em algumas situações é usar o Blender para assar texturas que você pode usar posteriormente no destino final ou receber o aplicativo para criar materiais lá, não dentro do Blender .

O cozimento é o processo de pré-cálculo do sombreamento e armazená-lo em uma textura de imagem estática que pode incorporar vários canais opcionais como difusa, brilhante, iluminação indireta, mapas de relevo, mapas normais, mapas de luz, entre outros. Isso pode melhorar a qualidade gráfica ou o " realismo " percebido às custas do dinamismo, pois certas propriedades de materiais e texturas podem se tornar estáticas, como se " pintado na superfície ", como sombras ou reflexos. Isso costuma ser um requisito para mídias de alto desempenho ou plataformas de baixo consumo de energia, como jogos na web ou em dispositivos móveis, onde os recursos disponíveis são limitados ou desconhecidos e a velocidade tem precedência sobre a fidelidade gráfica.

Exceções

Uma exceção notável a tudo isso é o formato de arquivo glTF , que desde a versão 2.0 glTF oferece suporte a algumas definições de materiais com base em um modelo de sombreamento de rugosidade metálica em suas especificações. O complemento glTF-Blender-IO criado pelo Grupo Khronos oferece suporte à exportação de materiais baseados em nós BSDF Principled . Mas mesmo assim, algumas restrições se aplicam.

Devido à recente popularidade da Renderização baseada em física e seu uso crescente em motores de jogo e real – Aplicativos de renderização de tempo, tornou-se uma espécie de " padrão solto " vagamente definido para descrever propriedades de superfície de materiais (embora vários com nuances diferentes existem versões).

Desenvolvimentos futuros

PBR não é um padrão no entanto e nem todas as implementações funcionam da mesma maneira ou interpreta os mesmos parâmetros de maneira semelhante. O Principled BSDF já foi escrito de acordo com um modelo desenvolvido por um líder da indústria estabelecido (Disney) para seu próprio uso interno e jogo motores como Unreal Engine® ou aplicativos de pintura de textura como Substance Painter® também o adotaram.

Conforme o fluxo de trabalho PBR ganha popularidade e tração, é possível que mais aplicativos " junte-se ao movimento " e implemente-o no futuro. Se um padrão comum puder ser acordado, pode ser possível que no futuro mais importadores / exportadores melhorem a compatibilidade com um número crescente de propriedades dos materiais. Eles provavelmente lerão diretamente de um arquivo Blend, usarão algum outro novo formato de arquivo hipotético ou serão forçados a implementar novos padrões; pois os atuais ainda carecem de estruturas de dados para descrevê-los corretamente. Neste ponto, é pura especulação e nenhum plano conhecido é feito.

Problemas relacionados

Comentários

  • Nunca usei o Unreal ou qualquer outro mecanismo, não tenho ideia, você terá que perguntar sobre isso em uma comunidade dedicada I ' estou com medo.Ouvi dizer que alguns motores não permitem vários materiais por malha, você teria que separá-los em vários objetos. De qualquer forma, você pode aplicar os materiais no Blender, para fidelidade visual na janela de visualização, e se o importador suportar isso, ' é menos trabalho que você precisa refazer no mecanismo, apenas don ' Não espero usar exatamente as mesmas definições de material.
  • Vale a pena notar que muitos aplicativos / formatos se preocupam com slots de material atribuídos (ou seja, quais verts têm quais materiais atribuídos) , mas não o material real que é atribuído, pois eles precisam deles para atribuir seus próprios materiais.
  • @Duarte Farrajota Ramos existem inúmeros scripts de exportação que exportam malhas de liquidificador com seus materiais atribuídos
  • @ phil123 Você deve postar isso como uma resposta abaixo, com links para os referidos scripts e uma descrição do fluxo de trabalho usado, junto com algumas capturas de tela dos resultados
  • Posso adicionar algo sobre Unreal e glTF, don ' Não sei sobre o FBX. Cycles, Eevee e Unreal têm materiais poderosos baseados em nós. O modelo de material glTF 2.0 é mais simples, mas pode lidar com uma grande porcentagem das necessidades de arte do jogo (PBR baseado em textura de imagem). O glTF funciona entre o Blender e o Unreal (a partir de 4.19) para Malhas Estáticas com Materiais. Você pode ter vários materiais em um único objeto de malha, e eles aparecerão como slots de material no Unreal. A partir daí, você pode usar os materiais importados do glTF ou trocá-los / criar novos no Unreal.

Resposta

Ao exportar para .fbx, você não pode exportar materiais, você terá a cor da superfície, mas não outras configurações como brilho e reflexão, para texturas, sim você pode, mas você tem que usar o liquidificador interno (ele faz não funciona com ciclos), e certifique-se de não usar nós, aplique as texturas, então, quando nas configurações de exportação do fbx, vá para o final, defina o caminho para copiar e marque o ícone em forma de caixa ao lado dele, agora deve incorporar as texturas com o arquivo fbx exportado.

PS: Eu não testei o novo blender 2.79

Configurações de exportação do Blender Fbx para incorporar texturas

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *