Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Fernando Cunha   Porto-Portugal - PR
Fabio   Brasil - AC
valdez   Curitiba, PR
Bruno   Rio de Janeiro - RJ

Portfólios Ver Mais

Thomdubra   Vila Velha ES - ES
Ionta   suzano
2R3D   Porto Alegre - RS

defeito na luz do unreal

Por: JMDesign  

Em: 22/08/2018 21:43

olá sou novo aqui e preciso de ajuda no unreal.
porque acontece esse defeito?
as paredes estão juntas mas parece que não estão porque a luz atravesa.
Att: João Maciel.
Oi JM, tudo bem?

Provavelmente é a resolução do Lightmap do seu objeto, é comum em paredes, pisos e tetos porque são objetos grandes que ocupam boa parte da cena, então, a configuração padrão de 64 acaba sendo baixa demais.

Você encontra o Lightmap Resolution dentro da janela do Mesh do objeto no Unreal, como mostra a primeira imagem em anexo.
Não aumente muito e valor, principalmente dos objetos pequenos e use sempre múltiplos de 4 como 64, 128, 256, 512 e 1024.
Nunca vai usar mais do que 1024!!!
Creio que no seu caso ficará bom com 256 ou 512.

Você pode analizar a densidade do Lightmap dos objetos da cena acessando o menu Lit, na parte superior esquerda da Viewport, e escolhendo a opção Optimization Viewports > Lightmap Density, como mostra a segunda imagem em anexo.

Azul e verde mostram baixa densidade, amarelo e laranja mostram média densidade e vermelho mostra alta densidade.
Se estiver fazendo uma maquete eu sugiro que ajuste para alta intensidade, se estiver fazendo um game para PC use média densidade e se for um game para celular use baixa densidade.

Abração e tudo de bom.

André Vieira
deu certo com 512 mas pq um canto não deu defeito?
Att: João Maciel.
Eu ja tive esse tipo de problema.. até onde eu lembro, tem algo a ver com o mapeamento do objeto... Pq as engines (tradicionalmente) usam o canal 2 do mapeamento pra questões de iluminação... Então deixe o canal 2 do mapeamento sempre livre, ou mapeado de uma maneira basica (tipo pelos angulos das faces, etc..(e sem sobreposição de UVS)) q, até onde eu lembro, n vai dar esse problema... 

Vish peor q pessoal q eu to trampando faz as coisas na Unity e, véi... vai vêno q vc tá até tentando fazer GI com o UE4... Se vc fosse fazer na Unity vc ia ter q fazer um curso de programação, NO MINIMO, só pra poder fazer um material 2-sided... OSSO!, ou, acho q eu detesto à Unity, e a Unity me detesta.. hehe... Pq eu sempre consigo as coisas facinho na UE4 e peno, mas peno MUITO mesmo, pra poder fazer uma parcela da mesma coisa, na Unity... ÓSTEO!!!.. 

Interessante a questão q o André mencionou.. é bastante pertinente mesmo.. e essa questão do 'lightmap', até onde eu sei, é gerida pelo segundo canal do mapeamento... (pra resumir, digamos q tem lá o primeiro 'canal' do mapeamento.. esse primeiro canal do mapeamento vai dar conta ou, é da natureza desse primeiro canal do mapeamento, nas engines, de determinar como vai ser posta as texturas e tal... no sentido de um mapeamento pra um plano euclidiano e tal.. 

Mas, nesse sentido da duvida, caso vc n esteja construindo seus mapas de uma maneira procedural, é uma questão de vc fazer um mapeamento mais coeso pras partes do seu mapa e tal... Procedendo dessa maneira (a controlar diligentemente aos mapeamentos dos elementos da cena) esse tipo de problema de shading não vai existir...



@Edit: Mas eu vejo o "Bom" na Unity tbm... Embora q eu realmente n goste de trabalhar diretamente com a Unity... Mas, realmente, não é coisa muito além de dizer q o q vc é agora e n consegue, e q, no futuro vc de fato vai conseguir... E isso me lembra dessa musiquinha, de um desenho e tal... é um pouco 'tradicional' da minha 'natureza', eu trazer essas musiquinhas... então houve essa musiquinha, pra alegrar às possibilidades de vc conseguir isso aí q vc quer xd... Imagino q esse tipo de coisa esteja bastante abaixo do q vc poderia conseguir em muito pouco tempo... 




A Beleza está entre a Ética e a Razão!..
Oi JM, tudo bem?

A iluminação nas Engines depende do mapeamento do objeto como o Fox disse muito bem, pois é pesado calcular tudo realmente em tempo real, então, é feito o Bake da iluminação com o Lightmass para embutir os efeitos das luzes nas texturas dos objetos criando os Lightmaps.

Para isso as Engines usam o segundo canal de mapeamento, pois no primeiro estão as texturas do material do objeto, este segundo canal pode ser gerado automaticamente quando importa o FBX na Engine, mas não é boa idéia porque pode apresentar problemas na iluminação.

Eu imagino que você fez o mapeamento do segundo canal manualmente no seu programa 3D, pois se tivesse gerado o mapeamento automático neste objeto que são apenas paredes com ângulos retos, cada parte da parede ficaria separada da outra e apareceria o defeito também no canto que não deu problema.

Quando o Lightmap está em baixa resolução ele fica mais borrado e dai aparece o problema nas bordas das ilhas de mapeamento, geralmente nas quinas dos objetos.
Então, se as duas paredes em ângulo estão unidas no mapeamento, não vai aparecer o problema no canto entre elas porque o canto está no meio da ilha de mapeamento.

Só que também não é boa idéia unir todas as paredes para evitar o problema porque terá uma ilha muito comprida ocupando uma pequena área útil do mapeamento e dai vai perder resolução na iluminação.

Mapeamento é uma questão de prática, precisa unir o máximo possível as partes do objeto, mas tentando preencher a área útil do mapeamento da melhor forma possível.

No Unreal você pode ver como estão os mapeamentos do primeiro e do segundo canal clicando no botão UV dentro da janela do Mesh do objeto, como mostra a primeira imagem em anexo.

Mas para identificar as partes corretamente e até editar o mapeamento, você precisa abrir o modelo em algum programa 3D, a segunda imagem em anexo mostra o mapeamento do mesmo objeto no 3ds max, onde posso selecionar uma ilha do mapeamento e ver a qual parte se refere no objeto.

Abra o seu objeto no programa 3D da sua preferência e verifique se estas duas paredes não estão unidas, eu aposto que estão!

Abração e tudo de bom.

André Vieira
Oi Fox, tudo bem?

Eu gostei muito do Unity quando estudei ele antes de migrar para o Unreal, na época era a versão 4 e ainda não tinha luz Real-Time na versão gratuita, então, em vez de focar na parte gráfica eu foquei no resto e consegui fazer algumas coisas legais em termos de interatividade, mas a parte gráfica ficou horrível. rsrsrsrsrs

Acredito que essa experiência me ajudou muito a compreender logo o Unreal e também evitar certas coisas que vejo as vezes na programação por Blueprint de quem iniciou no Unreal, como fazer quase tudo da lógica no Level Blueprint.

No Unreal foi super fácil obter boa qualidade gráfica principalmente por causa do Material Editor, que deixa fazer o que quiser enquanto o Unity só tinha um Shader básico, se quisesse criar um material diferente tinha que programar em linguagem de Shader e dai complica demais.

Por outro lado, o Unity tem uma interface consistente, estável e funcional, já a interface do Unreal é horrível, cheia de inconsistências e problemas, alguns até bobos como quando clica num slot do painel Detail no lado direito da tela e abre uma janela que você não queria porque o menu surge em cima do mouse e funciona como um clique, dai tem que mudar a posição do Slot para conseguir abrir o menu sem clicar em nada, é bravo este tipo de coisa!

Porém, é muito gostoso criar as interatividades com Blueprints, nem se compara com escrever código no Unity.

Agora o Unity ganhou um Material Editor igual o do Unreal e justamente por isso que estão aparecendo projetos com melhor qualidade gráfica, coisa que antes era raro.

Se o Unity implantar um sistema de programação visual por Nodes similar ao Blueprint do Unreal a concorrência vai começar a ficar mais difícil para a Epic.

Até uns anos atrás tudo que o Unreal tinha de bom o Unity tinha de ruim e vice-versa, mas o Unity correu atrás destas coisas.

O Unreal também não perdeu tempo com as suas deficiências, hoje tem Area Light e configuração fotométrica da iluminação, mas ainda não tem GI Real-Time que é importante para arquitetura e não melhoraram a interface.

Sobre a questão do mapeamento que o colega perguntou, a sua explicação foi perfeita, é justamente o que você disse, mapeamento é a coisa mais importante do mundo para Real-Time, pelo menos enquanto tiver Bake da iluminação.
O primeiro canal de mapeamento pode ser de qualquer jeito igual usa no Max que não tem problema, mas o segundo canal tem que ser perfeito, sem nenhuma sobreposição e com todas as ilhas proporcionais dentro da área útil do UV.

O ruim é que muita gente faz o mapeamento automático do segundo canal, proporcionado pelas próprias Engines, e dai enfrentam problemas com a iluminação, é muito importante mapear manualmente o segundo canal para não ter dor de cabeça depois como você explicou muito bem.

Abração e tudo de bom.

André Vieira
entendi!
valeu!
Att: João Maciel.

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707625.

Total de membros registrados: 135234

Últimos membros registrados: jenniwerner, kressrobert, Hugginsed, kdsanmva, LucyCoffee, rauldossantossousa, adudis_, mauriciovrc.

Usuário(s) on-line na última hora: 857, sendo 24 membro(s) e 833 visitante(s).

Membro(s) on-line na última hora: Gauchu, marcola, nandao, Edson, JMDesign, Juarez, Baldo, Fabio Catelleno, Antigo, Starter, Moura, deathstars, Victor Mendonça, Reinaldo Silva, Adalberto Rocha, Gabriel.C, Thiago Couto, Henrique Ribeiro, Vladis, Eduardo Ramos, gago, mixel.amorim, marcio.alain, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

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