Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

J.F.Verissimo   Recife - AC
fernando parreira   Minas Gerais - MG
Beckman3D   São Luis
julioras   Curitiba

Portfólios Ver Mais

minucelli   São Jose do Rio Preto-SP - SP
stunlight   Campos dos Goytac - RJ - AC
danielsawaya   Brasil, Atibaia-SP
rudieriel   Gravataí - RS

Duvida com Lightmap 3D Max e Unreal 4

Por: Larissa  

Em: 03/11/2017 18:42

Eu realmente não consigo entender isso de uma forma clara, ou simples... e quanto mais eu tento pesquisar, mais confuso eu fico. De tanto tentar, acabou q até q consegui chegar em um resultado aceitável dentro da Engine, mas o workflow esta absolutamente horrivel, para algo simples como uma parede q é basicamente um plano... digo, ja tou 3 dias batendo cabeça com isso...

Alguém por gentileza poderia apontar aonde eu tou errando ou o que eu tou fazendo de errado?

 

Bem, primeiramente abri a uv normalmente no chanel 1 do max, para as texturas... até ai ok pra mim (não tou ok, pq UV definitivamente é meu maior ponto fraco em 3D), mas é aceitavel... ai criei um segundo canal de uv, ajeitei o grid (fiz uma conta maluca de 1/64 e cheguei no resultado 0,015) e fui tentando ajeitar la minha uv do light map... questão é ´ta certo isso q eu fiz? cada face do lightmap tem q ficar separada? isso me consome um tempo mais q absurdo de ficar dando snap em cada linha no grid, se um modelo simples ta essa dor de cabeça, imagina algo mais complexo?

 

Enfim, quem puder me exclarecer... Ou me indicar um workflow melhor do que esse meu...  agradeço :3

Oi Osvaldo, tudo bem?

As Engines só precisam do segundo canal de mapeamento para gerar o Lightmap, no canal 1 ficam as texturas, então, o canal 1 pode estar com o mapeamento padrão do Max, pode usar apenas o UVW Map se quiser, pode ter faces sobrepostas no UV e tudo mais igual é aceito normalmente no Max.

Agora, o segundo canal tem que ter um mapeamento perfeito, sem nenhuma face sobreposta no UV e com o menor número de ilhas (partes) possível para evitar falhas no Bake da iluminação.
Portanto, separar todas as faces é a pior coisa que pode fazer e na verdade, se for para separar tudo, nem precisa ter trabalho porque tanto o Max como o Unreal fazem isso automaticamente para você.

É ai que está o problema, por padrão os Engines geram o segundo canal de mapeamento automaticamente para poderem guardar o Lightmap.
Este mapeamento automático é o mesmo aplicado pelo Flatten do Unwrap UVW, que separa as faces em diversas partes se for um objeto bem arredondado.

Acontece que, é justamente nas emendas do mapeamento que podem surgir artefatos na iluminação do Lightmap, então, quanto menos emendas tiver, melhor, e as emendas que forem necessárias é bom deixá-las nas áreas mais escondidas do Mesh.

Basicamente o procedimento é este:

Você aplica o Unwrap UVW na parede, abre o editor do Unwrap UVW, tecla CTRL+A para selecionar todas as faces e clica no menu Mapping > Flatten Mapping.

Assim, todas as faces ficarão dispostas na área útil do editor do Unwrap UVW, então, você deve selecionar a Edge no canto de uma parede, ela ficará vermelha e a Edge de outra parte separada ficará azul, dai você clica com o botão direito e escolhe Stitch Selected no menu que aparece, como mostra a primeira imagem em anexo.
Desta forma, a parte da parede que é conectada naquela Edge será soldada nela, formando uma peça só, uma ilha só.

Você deve fazer isso com o maior número de partes que puder, sem deixar que uma parte fique sobreposta na outra, pois a sobreposição vai causar erro no Lightmap.

Quando terminar de soldar tudo, você pode clicar no menu Tools > Pack UVs do Unwrap UVW para organizar todas as ilhas (partes) na área útil da textura.

Saindo do Unwrap UVW, se quiser manter o mapeamento anterior do Mesh e deixar este novo mapeamento apenas para o canal 2, é só digitar 2 no Map Channel e escolher Move na mensagem que aparece.
Mas se quiser manter o mapeamento no canal 1 e fazer uma cópia no canal 2, aplique outro Unwrap UVW em cima do primeiro, digite 2 no Map Channel e escolha Move também na mensagem, como mostra a segunda imagem em anexo.
Assim, você terá os dois canais, um em cada Unwrap UVW, então, precisa converter em Poly ou Mesh clicando com o botão direito na área vazia do Edit Stack e escolhendo Collapse All ou clicando com o botão direito na Viewport e escolhendo Convert To > Editable Poly ou Editable Mesh.

Agora, é só exportar em FBX.

Porém, é muito importante aplicar materiais Standard com nome em cada objeto ou parte de objeto, pois é por meio dos materiais aplicados no Max que poderá aplicar os materiais no Unreal.

Então, crie um material para cada peça ou Multi/Sub-Object para objetos com vários materiais, sempre usando o Standard e pode deixar a cor cinza mesmo, só é importante colocar nome diferente em cada um.

Quando for importar o FBX no Unreal, desmarque a opção Generate Lightmap UVs, como mostra a terceira imagem em anexo, para evitar que o Unreal aplique o mapeamento automático no segundo canal e use o que você está importando do Max.

Deste jeito você pode fazer o Bake do Lighmass no Unreal que vai funcionar corretamente.

OBS Importante: O Unreal importa todos os objetos do FBX como sendo um único Mesh se marcar a opção Combine Meshes na janela de importação do FBX, então, se tiver dois objetos separados no Max e exportar como FBX no mesmo arquivo, vai ser a mesma coisa que dar um Attach nos dois objetos no Max e o mapeamento do segundo canal de cada objeto ficará sobreposto, portanto, deve exportar objeto por objeto ou unir antes no Max com o Attach para poder aplicar o Pack UVs no segundo canal e manter cada ilha no seu lugar sem sobreposição.

Se não habilitar o Combine Meshes, cada Element de cada Mesh será um objeto separado no Unreal e dai vira um martírio, então, tem que pensar bem em cada objeto que for exportar porque o Unreal é um pé no saco mesmo.

Se tiver qualquer dúvida específica sobre o Unwrap, já que mencionou ter dificuldades com ele, é só falar.

Abraços e tudo de bom.

André Vieira
Douglas, acrescentando ao que o André colocou. Tem uns scripts que exportam vaios objetos para a unreal, alias, não necessariamente exportam ,mas movem tudo temporariamente pro EIXO 0 no grid e exportam no formato, ajuda muito quando voce tem varias coisas e precisa exportar para montar na Unreal.

Oi Diego, tudo bem?

Como disse minutos atrás no tópico do Broks quando vi uma mensagem sua pela primeira vez, que bom que você está de volta, não sei os outros, mas eu senti a sua falta e até perguntei para a Elis se você estava chateado com alguma coisa, dai ela me disse que tinha ido para o Paraná num evento de Design, espero que tenha corrido tudo bem e sido legal.

Sobre o lance de alinhar os objetos no 0,0,0 é um saco mesmo e os Scripts ajudam muito, eu divulguei alguns que também criam o Mesh de colisão e aplicam o prefixo UCX automaticamente, são uma mão na roda.

Agora, isso só vale a pena se você for posicionar os objetos manualmente ou através de Blueprints na cena do Unreal, pois se for um cenário completo ou um projeto de maquete, por exemplo, é melhor exportar os objetos na posição que estão na cena no 3ds max, pois o Unreal vai respeitar essa posição relativa e dai você não precisará arrumar os objetos de novo manualmente no Unreal, é só arrastar tudo para um Blueprint que todos ficarão na posição certa como estavam no Max.

Abração e tudo de bom.

André Vieira

È Verdade André, tem esse fator mesmo do posicionamento.

 

Se for pra fazer modular, que geralmente acaba sendo pra games mesmo, ai precisa, mas do contrario é melhor manter o posicionamento original.

 

Sim, eu fui num evento, mas tem semana que eu me perco na correria e esqueço de entrar pra visitar o forum, mas estou sempre por aqui!

Valeu André, grande abraço!

Oi Diego, tudo bem?

Eu não vejo a hora de lançarem o Datasmith para saber como as coisas vão ficar, pois pelo jeito mudará completamente o workflow de importação de projetos.

Mas acho que para importar objetos individuais para sistemas modulares ainda continuará igual agora, espero pelo menos que não tenha toda a burocracia de prefixos e exigir Rig para qualquer tipo de animação, é isso que mata, pois no Unity posso importar qualquer animação em FBX na boa, igual saiu do Max sem Rig nem nada, até partículas e no Unreal é um saco.

O Unreal é o tipo do programa que eu amo e odeio ao mesmo tempo. laughing

Abração e tudo de bom.

André Vieira

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707504.

Total de membros registrados: 135163

Últimos membros registrados: jvmferreira, THIAGO BARCELLOS, WASHINGTON.NBO, JessicaSNR, Rova, djsoul, LETICIACRISTINA77, dumps23.

Usuário(s) on-line na última hora: 724, sendo 15 membro(s) e 709 visitante(s).

Membro(s) on-line na última hora: Vladis, jvmferreira, JMDesign, THIAGO BARCELLOS, magster, Adalberto Rocha, Abilio, Carlos E. Nogueira, Victor Mendonça, emersonforentin, nandao, João Von Rondow, Eng Damasceno, Roberto Movanni, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.