Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

new   Belo Horizonte - MG
Colli   Maringá - AC
Danilo   Teresina-PI - PI
Fabiano C S   São Caetano do Sul - SP

Portfólios Ver Mais

dinizlima   Londrina - AC
BarrosSouza   Rio de Janeiro
Richard   Brasil - PR
Kleib   Belo Horizonte

Unreal Engine 3D Ocean Material

Por: Harley  

Em: 25/11/2017 10:11

Oi André, tudo bem com vocês ?

Vou começar um novo tócipo porque o anterior ja está bastante carregado.

Eu fiz testes com o WorldComposition, aprendi a criar Níveis, reduzir os poligonos conforme distância e sobre materiais LayerBlend, inclusive eu assisti alguns vídeos de pintura de uma rocha gigante q serveria de terreno para uma landscape. Foi bom saber q posso pintar Assets com o material de LayerBlend.
Eu achei o WorldComposition ruim porque mesmo com Nível 2 de subTesselation ainda é extremamente pesado. Sem falar q o Material de Landscape q eu criei tem 14 SubMateriais e toda vez q vou pintar ele faz um compilamento de 2000 e tem uns bugs q da umas travadas na Engine, também tem bugs de displacement(muitos), quando pinto com algum LayerMaterial q tem bastante displacement o personagem transpassa o terreno e também aparecem falhas em quadrantes graças ao tesselation q mesmo estando habilitado para corrigir esses defeitos não consegue evitá-las. Mas o "pior" de tudo é q esse material tem q ser LandscapeLayerCoords (o LandscapeLayerCoords é identico ao WorldScale). Significa q se eu mover o Nível inteiro de lugar a textura não acompanha porque ela é estática no mundo. Bom...foi isso q aconteceu aqui, não posso dizer se tem alguma forma de mudar isso porque sou novato em Unreal.

Acho q não compensa muito gerar landscape usando o sistema da Unreal porque tem uma forma de criar terreno muito mais leve, mas valeu a pena pelo aprendizado.
É muito melhor criar assets de montanhas com LoD, Mask e Tesselation. Acho q o único problema poderá ser o Colider.
Postei anteriormente uma imagem em q aparece um pedaço de terreno q foi gerado dessa forma, na verdade são duas peças de terreno interligadas q fazem parte de uma montanha q ja projetei no Zbrush e subdividi em 9 partes, cada pedaço dessa montanha tem uns 4000 Triangulos e conforme a camera se aproxima o LoD é ativado e também o Tesselation. Essas peças são super leves e tem um pouco de transpassamento entre elas para não aparecerem falhas quando trocam de LoD e ativam o Tesselation. Acho q rodaria até em um jogo de celular se eu reduzir a qualidade das texturas.

Seguindo essa linha de raciocínio, existem muitos benefícios... As texturas de curta distancia  q são linkadas a um Mask podem ser WorldScale, mas não os Masks e as texturas da base de longa distancia porque essas texturas precisam acompanhar o Objeto. Assim posso mudar o local e a escala de cada Asset de Terreno q não alteraria o tamanho das texturas preservando a qualidade.

Quando o LandscapeMaterial estava carregando deu umas belas travadas e apareceram uns bugs q fecharam a Unreal algumas vezes.
Não lembro agora se o material de Displacement q importei para gerar o terreno também fica estático no mundo, mas acho q sim.

Nos vídeos q eu postei repare q o displacement está esquisito. O problema está no plane em q apliquei o material, não sei onde estou errando e ainda não consegui acertar. Acho q não estou instanciando corretamente porque quando copio o plane do material de oceano a placa de vídeo da uma fermentada. E a Landscape está muito pequena porque só criei ela pra testar o PaintLandscape.

Valeu André !!!
Abraços.
Segundo Vídeo
Oi Harley, tudo bem?

Desculpe a demora para responder, eu estou fazendo uma reforminha em Juquitiba e viajei para lá estes dias.

Adorei ver o oceano animado nos vídeos, ficou muito bom, parabéns!

Sobre o tópico, não tem problema continuar no mesmo tópico e postar quantas mensagens quiser, as vezes é até melhor manter o assunto no mesmo tópico para ter o histórico de toda a conversa.

Sobre os recursos que indiquei, fico feliz de saber que testou tudo, realmente o LayerBlend é um material como outro qualquer e funciona em qualquer objeto.

Agora, o problema da compilação dos Shaders aconteceu porque está usando o Unreal Material direto no terreno e o ideal é usar um Material Instance dele, eu sugiro que nunca aplique um material diretamente nos objetos, sempre crie uma instância dele.

Outro lance é aquele que te disse de Bake de alguns mapas para não ter que calcular tudo em tempo real, pois dependendo da resolução dos mapas fica inviável.

Este Live Training da Epic Games explica essa técnica de Bake de materiais para texturas: https://docs.unrealengine.com/latest/INT/Videos/PLZlv_N0_O1ga0aV9jVqJgog0VWz1cLL5f/WaM_owaUpbE/


O problema de criar terrenos com Meshes importados em vez de usar o sistema do Unreal é justamente ter que lidar com os colisores, no meu teste do Rig de carro eu queria que os buracos e lombadas da pista se refletissem na ação da suspensão, então, fiz um sisteminha de modelagem no Max para que Boxes acompanhem as deformações da malha Lowpoly, dai importei os Boxes como UCX para virarem colisores nativos e o bugue colide com eles, você pode fazer algo parecido.

A imagem em anexo mostra a pista no Max, qualquer vértice que eu mover na malha os Boxes acompanham mantendo o volume, então, foi fácil criar as várias partes da pista.

Primeiro eu criei um plano com os Boxes e um Mesh plano para a pista, dai apliquei o Skin Wrap nos Boxes lincando com a malha da pista, então, funciona também se aplicasse um modificador Displace com uma imagem para alterar o Mesh, igual faria para um terreno, mas a colisão não será tão precisa com o Mesh, pois para ser teria que usar o próprio Mesh e dai fica super pesado mesmo.

Dá para fazer bem melhor com Blueprint, porque dai você pode controlar tudo e se quiser poderá criar os colisores em tempo real apenas ao redor do personagem.

O poder está nos Blueprints!

Sobre as travadas do Unreal, aqui também acontece as vezes e por bobagens, o Unreal é um programa bem mais vagabundo do que o Unity neste ponto.

Sobre o problema com Displacement no oceano, você sabe que precisa importar com 16 bits Color para o gradiente ficar bem suave né, e além disso precisa configurar a textura corretamente quando importar no Unreal, caso contrário ele aplica compressão e perde qualidade para estas coisas, a segunda imagem em anexo mostra onde fica a configuração nas propriedades da textura.

Depois me mostra o terreno que está fazendo!

Abração e tudo de bom.

André Vieira
Oi André, tudo bem com vocês ?

Gostei muito da idéia de criar blueprint para gerar colider somente na proximidade do personagem, ainda não comecei os estudos de blueprint. Mas prometo q vou começar a estudar depois q eu aperfeiçoar o material de oceano.
Eu testei o colider da ilha e funcionou perfeitamente ativando só a (colisão rigida como simples). Mas realmente acho q fica pesado porque cada triangulo é um colider. A ilha tem 51.774 triangulos e 2KM de comprimento.
Criei uma função no material editor q faz a areia da praia ser adaptável a altura do oceano. Assim posso subir ou afundar a ilha q a areia se adapta a agua. Ainda não inclui os LOD da ilha, mas quando fizer terá (Triangles) LoD1=12956 - LoD2=3316 - LoD3=886.

Acho q só restou 1 problema para resolver... provavelmente terei uma quantidade muito limitada de texturas devido ao compilamento de 16 Samples. Se eu podesse pintar a ilha usando LandscapePaint seria bom, mas a ilha é um Mesh, portanto acho q posso pintar só com materiais q tenham " VertexPaint " e pelo q entendi, isso me limitaria a 4 tipos diferentes de texturas ( R G B e Alpha ) por Material. Será q posso aplicar 2 ou 3 Materiais desse tipo no mesmo Mesh ???

Quanto a visualização exposta do quadrilateramento dos polígonos na visão do player em terceira pessoa...
Minha idéia era fazer uso do displacement dos materiais juntamente com o Tesselation para q os triangulos mais expostos do Mesh da Ilha não ficassem tão perceptíveis. Não se funciona porque não imbuti os displacements no material porque as Samples já estão no máximo. Preciso achar uma forma de resolver isso.

Falando em displacement...
Você estava certo, eu estava exportando do Photoshop em RGB e precisava ser o "Gray" do ZBrush para PNG, para depois importar na Unreal. Mas na Unreal precisei mudar para GrayScale ao invés de ( 8 / 16 Bits ) porque dava erro dentro do MaterialEditor. O displacement do oceano melhorou um pouco após essa alteração, mas ainda não é ( 8 / 16 Bits ), eu vi alguns materiais de agua e todos usam o grayscale padrão, então decidi fazer isso também.

Quanto ao Bake de materiais...
Pelo q entendi, o esquema é juntar 3 ou 4 texturas formando uma única ? Exemplo: Glossiness em R, Roughness em G, Specular em B e AmbientOcclusion em Alpha. É isso mesmo ?
Se for isso, a gente ja fazia na CryEngine nos materiais de NormalMap. O Glossines PBR é no canal Alpha do NormalMap. E tem uma textura q chama " DetailMap " q também junta 4 texturas. Na CryEngine não se usa o AmbientOcclusion porque dizem q se tornou obsoleto para o Render da Cry (q por sinal é super poderoso). Tomara q a Unreal tenha um Render igual no futuro.
André, tira uma dúvida aqui... Todo Render PBR segue a mesma base matemática em Albedo, Specular e Glossiness ?

Olha q legau...
Eu vi videos mostrando q tem empresas q desenvolvem assets de terreno. Esses assets são basicamente planes com Textura e colider. Cada Asset tem texturas de Albedo, Normal, Specular, Glossines, Roughness e AO. Provavelmente não Displacement porque o LoD zero é pré moldado(com colider anexo), conforme vai distanciando eles mudam para LoD_1 e desfazem o colider para ficar leve, e depois os objetos vão desaparecendo sobrando só a textura básica da Landscape.

O q você acha de eu desenvolver um DVD desses pra gente vender ???
A galera poderia ajustar esses assets para o Max, para distribuir em MaquetesEletronicas...etc.(infinitas opções).
Essa é a forma mais prática q encontrei até agora para preencher os terrenos com texturas de proximidade com a câmera. Talvês possa até desabilitar o colider do terreno.

André, agradeço muito a ajuda e manda um abração pra Elis e família.

Té +
Oi Harley, tudo bem por ai?

Qualquer coisa que precisar nos estudos de Blueprints e eu puder ajudar, é só falar.

Estudei e ainda estudo bastante Blueprints porque é a coisa mais divertida do mundo poder criar interações com o que quiser.
Eu estou fazendo um programinha simples para criar maquete interativa modularmente, apenas como prova de conceito, assim que estiver pronto eu vou colocar para download aqui na 3D1.
A imagem em anexo mostra uma versão anterior dele, agora eu já mudei os icones da interface, adicionei seletor de cores, grama 3D, entre outros detalhes.

Legal saber que você fez um sistema no material editor para areia acompanhar o oceano, assim você também consegue fazer a areia molhada próxima do oceano e seca na área mais distante para aumentar ainda mais o realismo.

Sobre o problema com a limitação de Samples para as texturas do terreno, eu não testei, mas acho que você poderá usar o LayerBlend com o Vertex Paint, assim, você não vai precisar se limitar as 4 texturas do RGBA porque no canal do Vertex Paint só vai pintar as máscaras dos Blends.

Sobre não conseguir usar o Displacement porque já chegou no máximo de Samples, eu acho que o Bake do material para textura pode resolver, mas não testei.
Ele permite que você divida o material em partes e cada parte gera um dos mapas, depois junta tudo no material completo, assim, onde antes tinham várias texturas para criar um mapa, depois do Bake terá apenas uma.

Aquele vídeo mostra várias técnicas, mas a que eu estou falando especificamente é a do Render To Texture Tools, que permite renderizar a composição de um material como textura.
Estes dois tópicos na documentação do Unreal explicam o processo:

https://docs.unrealengine.com/latest/INT/Engine/Content/Tools/RenderToTextureTools/2/index.html

https://docs.unrealengine.com/latest/INT/Engine/Content/Tools/RenderToTextureTools/index.html

Mas o lance de embutir várias texturas nos canais RGBA também ajuda muito na otimização.

Sobre a importação do mapa de Displacement, fico feliz que minhas dicas ajudaram, para os mapas de Normal e Displacement é bom usar PNG e outra coisa que esqueci de falar é sobre o MipMap automático, você também pode desligá-lo lá no início do menu nas propriedades das texturas, com o MipMap ligado o Unreal sempre vai diminuir a resolução da textura conforme a distância.

Sobre a base matemática da renderização PBR, é a mesma em todos os renderizadores convencionais e Real-Time, porém, tem vários tipos diferentes de implementação da técnica porque você consegue o mesmo resultado usando Albedo, Roughness, Metalic e Normal ou usando Albedo, Glossiness, Specular e Normal, por exemplo, então, as texturas criadas no primeiro sistema não ficarão corretas no segundo sistema e vice-versa.

Alguns renderizadores possuem a opção de usar Glossiness ou Roughness, pois o Glossiness é o oposto do Roughness, mas o mapa Metalic é bem diferente do mapa Specular, então, tem que criar as texturas de acordo com o material PBR que vai utilizar, o resto é tudo igual.

Sobre criar Assets de terrenos para vender, eu não sei se os usuários teriam interesse e antigamente a única forma de saber era lançando um DVD completo que leva tempo e dá muito trabalho para produzir, mas agora podemos saber facilmente colocando um Asset deste à venda na seção de modelos avulsos.

O Juliano Kloss está fazendo um conjunto de telhas próprias para usar com o Plug-in ATiles no 3ds max e creio que terá bastante interesse porque muita gente usa este Plug-in em maquete, então, acredito que a tendência é ter cada vez mais ferramentas bem elaboradas deste tipo além de apenas modelos comuns.

Faz um exemplo bem legal que e a gente coloca lá para testar a aceitação.

Abração e tudo de bom para você e sua família.

André Vieira
Oi André, tudo bem com vocês ?

Gostei muito de BluePrint, não comecei os estudos nessa área, mas assisti tutoriais e pelo q vi tenho quase certeza q só na UnrealEngine é possível criar absolutamente tudo. Quando eu começar a estudar Blueprint vou ficar obsecado hehehehehe...
Usando Blueprints, eu estava pensando na possibilidade do meu Shader de Oceano fazer a areia da praia molhar o terreno após transpassar o "Landscape(q é um Mesh)" deixando uma marca de humidade baseado em um tempo computado. Será q é possível ???
Existe uma forma de fazer esse efeito sem blueprint mas é muito pesado, é necessário ativar um recurso do Render da Unreal, mesmo assim o efeito não acompanha o displacement do plane e fica visível só um pouco abaixo do nível da agua.
O meu shader ainda não tem os materiais de Submersividade mas já faz praticamente tudo automaticamente. Não liguei nenhum atributo de física a esse material, porque não sei fazer.

Depois vou criar um pedaço de terreno para os usuários usarem como complemento paisagístico em Maquetes eletrônicas no 3dsMax, UnrealEngine, Cryengine, etc... para testar aprovação, se você quizer pode ser até amostra gratis para a galera do site  fazer o download. A galera do 3dsMax vai poder ativar displacement e o "TurboSmooth" e quando renderizar ficará perfeito, porque terá poucos polígonos e todos os polígonos serão proporcionais assim o Displacement ficará equilibrado.
Testei o material Standard do 3dsMax com as texturas corretas em seus determinados campos e funcionou com todos os Renders, tem uma diferença mínima para cada Render. A vantagem do Standard é q não precisa configurar o Material para cada Render separadamente, mas se precisar os usuários podem fazer facilmente porque é a base mais simples.
Nessa parte da configuração você pode me ajudar ? Você manja 100 vezes mais de Render q eu.
Já tenho a tabela correta de PBR para quase todos os elementos e seria muito rápido criar um padrão para o render Standard do Max com seu auxílio.


Eu estudei o Baking Materials to Texture e o Render to Texture Blueprint. O Render to Texture vou estudar melhor depois, deixo para quando precisar converter algum asset ou coisas desse genero até porque achei muito mais fácil.

----------------------------------------
Dúvidas quanto ao Baking to Texture..:    
https://www.youtube.com/watch?v=WaM_owaUpbE (essa parte começa com 11 minutos e 20 segundos de vídeo).
----------------------------------------

Só posso criar o Baker das texturas após elas estarem em um Material q foi conectado ao Blueprint e Target, certo ?
Se uma textura ja recebeu Baker eu posso usar ela em outro material totalmente diferente q tenha "outro" Blueprint e Target ?

O cara não mensionou se devemos aplicar essas texturas q sofreram Baking dentro do material básico "após" o Baker. Mas acho q deve ser isso, porque ele se atrapalha muito na explicação. Ele sai do contexto o tempo todo, isso atrapalha muito.
Devo re-aplicá-las no Material Básico "após" o Baker, certo ?
É q durante o video as Samples foram diminuindo conforme ele as transformava, OU talves a causa da diminuição de samples possa ter sido porque o material estava em "Unlit" e só carregava uma única textura por vez conforme ele as linkava ao emissive para depois formar o Baker.
Precisa ser sempre no canal Emissive ?

Somente o NormalMap deve ser convertido para 8 Bits com Gama ativado no Photoshop ? Ou cada tipo de textura tem um estilo diferente.

Porque ele não transformou o material de mask ?

Posso usar materiais Backed para pintar objetos dentro da Unreal ? Por exemplo o terreno q eu criei q é um mesh e não um Landscape.
No material de oceano eu poderia usar o Baking Materials to Texture ? Porque eles tem Panner e 4Motion.

O Shader de Oceano tem muitos Panners e 4Motion com movimentos ativados individualmente(com o mesma textura). Por isso q o Shader de Oceano nunca apresenta repetição(Tiling). Se eu podesse diminuir essas Samples seria incrível, eu poderia criar Specular, Roughness e até um pouco de Metalness para melhorar a aparência. Tudo isso com base no Displacement q tornaria a luminosidade do material extremamente fiel a realidade.

André, não precisa ficar preocupado em responder com pressa, são muitas dúvidas e sei q voçês são muito ocupados.

Manda um abraço pra Elis e família, e desculpe se demorei pra reescrever, estava em estudo e é muita coisa pra aprender.
Té +
Video
Oi Harley, tudo bem?
 
Desculpe a demora para responder, eu estava feito louco tentando terminar o programinha de maquete interativa que te falei para colocar para download antes das festas de final de ano, acabei de postar ele no fórum, baixa lá para você testar, tudo com Blueprint!
 
Porém, não é tudo que dá para fazer com Blueprint, é quase tudo, tem coisas que precisa programar em C e no Unreal é muito mais chato do que no Unity, pois no Unity o C# é bem simples e ainda tem JavaScript que é mais simples, enquanto que, no Unreal o C é cheio de notações próprias do Unreal, eu achei bem mais difícil do que escrever Script no Unity.
 
Eu tenho certeza absoluta que você vai ficar obsecado com Blueprint. kkkkkkkkkk
 
Mas também depois que aprender vai criar coisas sensacionais!!!
 
Sobre o lance de usar Blueprint para a areia molhada, eu precisaria fazer alguns testes para ter certeza, mas creio que pode usar a pintura de Vertex Color em tempo real como máscara, só preciso ter certeza de como gerar o mapa de acordo na intersecção dos Meshes, essa parte pode ser um problema sem programar em C.
 
Sobre a física no Unreal, é mais ou menos o mesmo que o MassFX do 3ds max (PhysX), mas que tipo de física você queria adicionar, os objetos boirem por exemplo?
 
Sobre o terreno para maquete, realmente é uma coisa que não tem por ai e muitas vezes as pessoas precisam criar do zero nos projetos, acho que vale a pena testar isso, mas fica a seu critério como fazer, agora temos a seção de modelos e você pode colocar lá por um preço baixo ou se quiser dar de graça como primeiro exemplo, pode postar aqui na seção de dicas do fórum que eu divulgo nas notícias do site.
 
Sobre os materiais, é uma boa idéia ter uma versão para V-Ray porque todo mundo usa, mas mantendo a versão com Standard para quem não tem o V-Ray ou usa outro Render, no Max 2018 a pessoa pode usar o Scene Converter para converter os materiais Standard para o Arnold ou ART.
 
Pode contar comigo para o que precisar, não sou especialista no V-Ray mas sempre obtive bons resultados, se eu tiver alguma dificuldade pergunto para o Cleber Machado, professor do curso de V-Ray.
Me garanto no Redshift e ART, consigo me virar bem no Arnold, mas não usei muito porque não gostei da forma como ele trabalha.
 
OBS: Com essa sua tabela PBR a gente podia fazer um procedural Substance para usar como cor no Max, Unreal, Unity e demais programas!!!
No Max, por exemplo, você iria aplicar o Substance no canal que quisesse e dai escolheria o tipo de material numa lista para aplicar a cor PBR correta!
 
Não é uma boa idéia?
 
Sobre o Baking To texture do Unreal, eu só fiz alguns testes com ele algum tempo atrás e não estudei a fundo, mas pelo que sei você precisa da textura aplicada no material e do material aplicado no Blueprint, porém, você também pode usar Blueprint para referenciar um material num outro Blueprint e até uma textura num material referenciado num Blueprint.
 
Por exemplo, veja a imagem em anexo.
 
Se você criar uma variável "material" do tipo Material Interface, você pode adicionar um material nela, então, se você pegar (Get) essa variável e aplicar o Create Dynamic Material Instance, vai gerar um material dinâmico que você pode alterar qualquer parâmetro que tiver criado no Material Editor através do Blueprint.
 
Então, você cria uma outra variável com o nome de "material_dinamico" do tipo Material Instance Dynamic e conecta na saida do Create Dynamic Material Instance para guardar o material dinâmico.
 
Assim, você pode pegar ele (Get) quando quiser e usar o Set Texture Parameter se for alterar uma textura ou o Set Vector Parameter se for alterar uma cor ou o Set Scalar Parameter se for alterar um valor.
 
No meu exemplo eu fiz de conta que o nome do parâmetro era "textura", então, coloquei este nome no campo Parameter Name do Set Texture Parameter e conectei no campo value uma variável chamada "textura_material" do tipo Texture, que permite guardar uma textura.
 
Para referenciar uma coisa de um Blueprint em outro você precisa pegar esse Blueprint na cena, então, pode fazer isso de diversas formas, depende de cada caso, mas uma delas é o Get All Actors of Class, que pega todos os Blueprints (Class) de um determinado tipo, dai vai gerar um Array com os elementos, mas se tiver só um, vai gerar um Array de apenas 1 elemento, que você pode pegar com o Node Get dos Arrays.
 
Uma outra forma é exibir a variável que exige alguma coisa diretamente na criação do Blueprint.
 
Na imagem em anexo tem a variável "textura_material" com o ícone do olho ligado na frente dela, pois eu habilitei o Editable e o Expose On Spawn nas propriedades (marcados em azul na imagem em anexo), assim, essa variável aparecerá sempre que for criar esse Blueprint na cena.

Veja na parte de baixo da imagem o Node Spawn Actor Teste Material, é um Node do tipo Spawn Actor By Class que eu escolhi esse mesmo Blueprint no campo Class, então, apareceu a variável Textura Material nos parâmetros dele, portanto, se eu estivesse em outro Blueprint mandando criar esse Blueprint Teste Material, ele já iria pedir a variável da textura para ser criado com ela definida.
 
Sobre aplicar a textura criada com o Bake no material básico, você está chamando de material básico o material que foi usado para fazer o Bake?
Se for isso, então não, o material original deve permanecer como está e você pode aplicar o Bake em outro material, mais leve, sem tantos Nodes para chegar naquele resultado.
Por isso que o material final fica com menos Samples e mais leve, pois só usa as texturas geradas no Bake como se fosse o Merge Layers do Photoshop.
 
Sobre o canal Emissive, precisa ser porque ele não gera sombras, se colocar no Diffuse vai ter junto o sombreado do objeto, estragando a textura.
 
Sobre NormalMap, já faz um bom tempo que não gero NormalMap no Photoshop, sempre gero no Substance Designer, mas eu creio que salvando em PNG não tem problema porque guardará todas as cores, não é bom salvar em JPG por exemplo.
Quanto ao Gamma no Photoshop, só testando mesmo para ver qual resultado ficará certo, eu não uso faz tempo porque é trabalhoso fazer Normal Map no Photoshop, ele não tem recursos para isso, só se instalar o Quixel Suite.
 
Sobre o Mask, não sei dizer, teria que assistir o vídeo porque não lembro mais.
 
Agora, sobre o uso do Bake nos materiais do oceano, se você pegar uma textura gerada pelo Bake e aplicar no material por Blueprint ou manualmente, poderá usar o Panner nesta textura normalmente igual como se fosse qualquer textura.
 
Mas se a textura é composta de várias partes menores que se movimentam no material original, não vai conseguir reproduzir isso com apenas 1 Bake, pois será o mesmo que ter apenas 1 Frame da animação, então, poderá gerar vários para funcionar como uma animação da textura.
Mas se estiver fazendo assim eu acho que vale mais a pena gerar o mapa no Substance Designer, porque dai poderá criar a sequência facilmente, até mesmo durante o Game.
 
 
Aproveito a mensagem para te desejar um Feliz Natal e um próspero ano novo, não só para você, mas para toda a sua família.
 
Abração e tudo de bom.
 
André Vieira
André, feliz natal e ótimo ano novo pra vocês todos também.
Espero q tenhamos saúde principalmente.

Eu testei o Bake no material de oceano, mas não diminuiu as Samples e piorou muito a qualidade. Acho q o Bake não é bom para ser usado em Materiais gigantes como esse, mas deve ajudar muito em objetos pequenos. Mas tudo bem...não tem problema.

Os NormalMaps q uso são gerados no Zbrush ou as vezes no XNormal, no Photoshop faço somente as correções das bordas. Vou começar a adaptar os materiais com um pouco de WorldNormal (aquele render do normal sem a tangent) já fiz alguns testes inclusive de rotação dos objetos na Unreal e ficaram bons.

Você viu esse vídeo ?
https://www.youtube.com/watch?v=clakekAHQx0
Vai em 17:45 e observa o render deles. Achei muito bom, eu não consigo essa qualidade de imagem na Unreal.
Poderia ser o shader de BP_SphereSky deles ? Pergunto isso porque desenvolvo texturas no mesmo nível q eles, mas estou longe de obter a mesma qualidade de imagem no render da Unreal e está tudo em Epic.
Os Assets deles são scaneados e o render q eles estão usando parece diferente. Olha o Roughness da rocha, nunca vi coisa igual, não parece material de PBR.

Depois vou finalizar o Shader de Oceano, quando terminar vou criar os assets de terreno.
Vou fazer uma viagem agora pro litoral.

Vlw André, boa virada de ano para vocês.
Té +
Oi Harley, tudo bem?

Desculpe a imensa demora para responder, estas 3 semanas do final do ano é a única época que podemos tirar uma folga da internet e fiquei afastado do site e dos emails neste período.

Agradeço pelos votos de Natal e ano novo, desejo o mesmo para você e se Deus quiser 2018 será um ano muito bom para todos nós.

Sobre o Bake de texturas não ter dado certo com o seu material, eu acho que não foi porque o material é gigante, mas porque ele é muito dinâmico cheio de animações, então, depois do Bake você perde estas animações e quebra o realismo do Shader.

Infelizmente os PCs atuais ainda não oferecem todo o poder que precisamos para fazer tudo que queremos em Real-Time, mas esse dia vai chegar.

Sobre Normal Map, para modelos detalhados criados no Z-Brush e depois convertidos em LowPoly, o sistema de Normal Map do Z-Brush mesmo e o X-Normal são ótimas opções.

Mas atualmente muita gente usa o Substance Painter no Workflow porque permite pintar com Normal Map, então, por exemplo, em vez de modelar vincos, parafusos, rebites e detalhes em geral na malha 3D para depois poder gerar o Normal Map, você já pinta estes detalhes direto na malha Lowpoly e pula algumas etapas do trabalho como retopologia e tal.

Sobre o vídeo mostrando a pedra realista no Unreal, baixe um objeto escaneado em 3D como algumas rochas que divulguei aqui na 3D1 com as texturas de Albedo, Roughness, Normal, Height e AO que ficará bem parecido com a pedra do vídeo.

Por exemplo, só de usar uma textura de Diffuse já quebra o realismo porque ela fica muito escura e o sombreado não bate com o da iluminação 3D.

Repare bem como é a textura de cor (Albedo ou Base Color) que o apresentador mostra no mesmo vídeo logo após mostrar a pedra realista, a textura de cor é bem desaturada e sem nenhum sombreado, isso é muito importante!

Já o lance de aproximar e ver os detalhes bem nítidos é o Detail Texture, uma técnica que você aplica um segundo Normal Map bem detalhado e com bastante Tile, mas programa para só aparecer quando a câmera estiver bem próxima do objeto.

Note também que ele está usando HDRI no ambiente, isso é outra coisa importante, nunca fica realista com a SkySphere e o céu padrão do Unreal porque ele não reconhece a exposição da câmera, tem que gerar um Cubemap a partir de uma imagem HDR para ficar legal,

Outra coisa que ajuda muito no sombreado detalhado do objeto, principalmente os Real-Time como essa pedra, é o mapa de Ambient Occlusion, todo objeto Real-Time tem que ter um mapa do AO porque o Screen Space AO não oferece bons resultados.

Eu aposto que os mapas de Roughness, Normal, AO, e todos os outros foram gerados no Substance Designer a partir das texturas escaneadas em 3D, pois o Substance Designer tem ferramentas para fazer esse tratamento, retirar sombreados e gerar Roughness, Metalic, AO, Normal, WorldSpace Normal e tudo mais.

Agora, o aplicativo com o Render que exibem no vídeo realmente é algo à parte e eles podem ter programado o que quiserem nele.

Este Demo da Epic está disponível para download e boa parte do terreno não aparece porque foi feito com "ferramentas customizadas" segundo o Blog deles, então, não dá para levar em conta os Demos da Epic porque eles podem fazer o que quiserem e a gente não, um grande estúdio com programadores feras também pode, mas nós somos pobres mortais. laughing

Você viu o programa ConstruSim que coloquei para download neste tópico: http://3d1.com.br/forum/comentarios-e-grupos/grupos-de-estudo-e-dicas/97341

Fiz totalmente com Blueprint.

OBS: Quando terminar o Shader de oceano coloca para download gratuito no Market Place da Epic que dai você vai saber a aceitação das pessoas e receber Feedback de outros desenvolvedores!

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: 711011.

Total de membros registrados: 138486

Últimos membros registrados: mathzurra05, jenafe, Young03Uzziah, FELIPERODRI@, isaque.220798, Anezio.neto, DANILO COSTA , frapsxiv.

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

Membro(s) on-line na última hora: Joao Barreto, kiwikiaka, Pierrejr78, tsmodelagem3d, Gauchu, Fabio Catelleno, Young03Uzziah, Fabio Amorim, Moura, Eber.Silva, Luana Chen, mathzurra05, Le_Andro, JesusEnzo , jenafe, Victor Mendonça, Adalberto Rocha, Duda, Felipe Duarte, Ale Marques, klogg, Fernando Cunha, dallest91, Marco Rocha.

Legenda: Administrador, Especial, Moderador, Parceiro .

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