Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

RHD3sign   Rio de Janeiro
Fabio Teles   Goiânia-GO - AC
Danilo   Teresina-PI - PI
Bona Studio 3D   Jaraguá do Sul/SC - Brazil - SC
thilima3d   Brasil - AC

Portfólios Ver Mais

anapinheiro   São José do Rio Preto
Zemer   Brasil - AC
Leandro_L   Poços de Caldas - MG - MG
ADRIANO TOSTA   SÃO JOSÉ DO RIO PRETO-SP

Unreal Engine 3D Ocean Material

Por: Harley  

Em: 25/11/2017 10:11

Oi André, eu vi o Construsim, achei muito útil, meus parabéns !!!
Deve ter dado muito trabalho, quanto tempo você levou pra criar ?
Ainda não começei BluePrint porque parei um pouco com os estudos, mas já voltei.
Eu entendi o esquema de albedo, já estou convertendo tudo de difuse para albedo. Eu tenho os arquivos raízes com as cores puras, só preciso desabilitar algumas coisas e reimportar pra Unreal.
Percebi q na Unreal o Specular é usado em quase tudo, pode ser usado até em Rochas, Areia de Praia, Neve... Eu achava q o Roughness fizesse o brilho specular igual na Cryengine. Agora entendi q roughness só indica o local do brilho e o specular q emite intensidade.
Na Cryengine o specular geralmente vai só em materiais metálicos. Eu estava errando tudo aqui na Unreal.
A Cryengine é completamente diferente em tudo. Nela pode trabalhar com Difuse q fica melhor q Albedo, e pode ter um mínimo de sombreamento porque não usa mais o material de AmbientOclusion, para o render dela já ficou obsoleto.

Criei um material para terreno automático. Não precisa pintar, porque detecta altura e angulo de decaimento. Na base tem areia de praia de acordo com a altura do terreno em relação ao mundo e no topo tem Neve. Ambos se sobressaem á textura de fundo do terreno.
Mas ainda é necessário criar uma textura paisagística para o terreno, senão aparece quadrilhamento.

Esse material possue MaterialFunction pra cada textura e é XYZ. Pode ser adaptado para assets comuns. Pode gerar efeito de neve ou musgo automaticamente por exemplo em Rochas. Os objetos podem ser rotacionados e escalonados q o material e os efeitos se adaptam automaticamente. O mais legau é q  os MaterialFunctions são full WorldScale em 3 dimensões. Eles mudam a escala de acordo com a proximidade da câmera retirando o efeito de quadrilhamento. É super simples trocar os materiais.
Fiquei obsecado quando assisti esse tutorial, tive q testar e deu certo.

Obs: Quando eu começar a aprender BluePrint vou ter q ser internado...kkkkkkkk.

Quase esqueci... depois q terminar o material de oceano e esse de terreno vou criar um MasterShader de agua q será 3 em 1. Cachoeira, agua corrente e agua parada. Tudo variando de acordo com o angulo de decaimento. Tudo auto-adaptável.
Posso usar a base do material de oceano nesse novo material. Depois eu aplico o material em uma Spline e pronto.

Por isso acho q vai demorar um pouco pra estudar BluePrint. Ou seja...o hospício vai ter q esperar...hehehehehe.

Grande abraço André, manda um abraço pra Elis também. Mandei um e-mail pra ela hoje sobre mudança de conta.
Té +
3 imagens do topo envolvendo neve.
Imagem com mais detalhes
Areia com Specular 1.0 e 100
Oi Harley, tudo bem?

Desculpe a demora para responder, andei meio enrolado aqui.

Fico feliz que viu o ConstruSim e mais ainda que gostou.
Não deu muito trabalho não, na verdade deu um pouco, mas foi super divertido fazer.

Não sei exatamente quanto tempo levou porque iniciei por brincadeira, dai vi que poderia deixá-lo mais legal e fiz um protótipo no início do ano passado, agora no final do ano peguei ele de novo e dei uma geral para poder colocar aqui para download.

Desenvolvi nas horas vagas, mas se fosse pegar firme eu acho que levaria uns 2 meses ou um pouco mais.
Nestes dias que tirei de "férias" no final do ano eu corrigi os Bugs que me enviaram, criei o sistema de telhado madeirado, a fotografia da planta baixa e fiz um sistema para traduzir todos os textos facilmente, pois quero lançar uma versão em inglês para colocar no site da Epic.

Falei para você que juntos conseguimos fazer um jogo legal, não um Game imenso porque dai precisa de equipe grande, mas conseguimos fazer jogos legais e criativos.
Já pensei em um Game para gerenciar um puteiro, pensei em outro para gerenciar hospital brasileiro, onde todo mundo é corrupto, médico bate cartão e vai para a academia, coisas deste tipo e se o diretor tentar melhorar o sindicato faz greve, pois estes jogos de gerenciamento que existem por ai estão bem distantes da realidade do Brasil.
Também tenho a idéia de um jogo bem maior sobre civilização e exploração espacial que envolve metafisica e dimensões astrais.

Sobre o Roughness e o Specular, o primeiro define o polimento, então, faz o brilho ser difuso ou especular (pontual), já o Specular controla a intensidade do brilho, não precisa necessáriamente ser usado, mas é que geralmente o brilho apenas com o Roughness não fica tão intenso, então, é particularmente importante em vidros e objetos muito poligos, por exemplo.

Pelo que você disse da CryEngine, que trabalha com Diffuse em vez de Albedo e não usa AO, significa que ela ainda não fez a transição completa para renderização fisicamente correta, da mesma forma que o Unreal também não completou a transição, parece que apenas o Unity conseguiu converter tudo por enquanto.

Gostei muito do que disse sobre o material de terreno automático que criou, deve ser super prático de usar, pois é um pé no saco e dói a mão ficar pintando terreno no Unreal, também adorei as imagens que postou dos terrenos, estão lindas e ficaram bem realistas, parabéns!

Também fico feliz de saber que se aprofundou nos Material Functions, isso é muito importante para construir materiais complexos e mais ainda para agilizar o trabalho e não ter que ficar fazendo coisas repetitivas, também vai te ajudar com Blueprints, pois tem o mesmo tipo de recurso lá.

Eu acho que você vai gostar de dar uma estudada no Material Parameter Collection, já que está pegando firme nas coisas do Material Editor do Unreal.

Dá uma olhada na documentação do Unreal sobre isso, o Parameter Collection permite arquivar configurações dos materiais para aplicar variações, então, ajuda bastante com coisas naturais como as que está fazendo.

Também tenho certeza que você vai gostar de estudar Blueprint porque é um cara super criativo e o Blueprint abre uma janela imensa de possibilidades, então, você vai ter tanta idéia que não vai saber qual tentar primeiro!!!

Sobre o Shader de água que deseja desenvolver em seguida, será a ferramenta perfeita para incrementar o seu terreno com rios e cachoeiras.

Além disso, tudo poderá ser feito facilmente a partir de uma Spline igual eu fiz aquela rua no exemplo do bugue off-road.
Então, pelo menos o básico do Construction Script do Blueprint você vai ter que aprender, é super fácil e vai permitir distribuir as diversas partes da água automaticamente através da Spline, gerar a cachoeira automaticamente conforme a altura entre os vértices da Spline e coisas deste tipo, vai ficar muito legal.

Olha o vídeo de uma ferramenta deste tipo que um cara construiu e está vendendo no Market Place: https://www.youtube.com/watch?v=VB6F7hAU9rI

Quando chegar neste ponto de aplicar o material na Spline você me avisa que eu te envio um passo a passo de como construir a ferramenta com Spline Component.

Abração e tudo de bom.

André Vieira
Oi André.
Tava rindo muito aqui...muito boas suas idéias, de verdade. Principalmente a do hospital.
Pior q é tudo verdade mesmo, medicina brasileira é um fiasco. Os q se formam só pensam em uma coisa... GRANA !!! Sem falar nos quase 10% de candidatos q pagam para outras pessoas fazerem o vestibular. E também tem aquela zona de conforto....porque depois q entra na faculdade é tudo uma maravilha, tudo q fazem é ler...ler...ler... até o 3º ano. Não precisam estudar matematica nem física... a realidade é q esse curso é um dos mais fáceis. O difícil é entrar.
Geralmente quem entra é de família rica...porque será ?
Você viu a pesquisa q fizeram mostrando a "imensa" quantidade de médicos brasileiros q possuem histórico de doenças físicas e psicológicas com base em alcoolismo e outras drogas ??? Minha irmã q é psicóloga era casada com um médico famoso, muito rico e muito mais velho q ela, o cara tinha um "QI" alto, mas um "QE" extremamente baixo. Eu sempre achei q aquele cara fosse um psicopata...kkkkkkkkkk.
OBS: Graças a Deus minha irmã é só psicóloga, porque se ela fosse "psiquiatra" já teria matado metade dos pacientes dela só recitando medicamento errado. Podemos resumir dizendo assim... ela não é a pessoa mais inteligente desse mundo, mas é esperta com certeza...kkkkkkkkkk.

Mas agora mudando de assunto...

Vamos criar um jogo sim !!! Pode ser até um jogo pra celular em 3D, por exemplo estilo Double Dragon com animação em mock-up, porque odeio animar, é a única parte de computação 3D q eu não gosto.

Depois vou pesquizar o ParameterCollection, valeu a dica. Dependendo da utilidade, ele poderá me ajudar a auto-texturizar qualquér asset com relação a objetos naturais. Já encontrei uma forma de aplicar os AutoShaders em rochas para q nunca fiquem iguais e possam ter Neve, Areia e Musgo nos topos ou nas laterais com base no HeightMap. Provavelmente em assets de árvores também funcionará.

Eu vi o vídeo da Unity sobre o The Book of Dead, achei excelente o render. Será q a Unreal vai ter um render assim ?
Percebi q tem muitos assets e são pesados em LOD zero. Eu me lembro a q Unity não aguantava tanta pancadaria assim, ela mudou muito.
Em termos de render a Unity superou a CRY ? Eu achava q era impossível.

Eu preciso criar um "Ambient SKY" ( não sei como se chama ). O da Unreal é muito péssimo, tem q ficar ajustando intensidade de luz, Fog e não tem aquele brilho por tráz da sombra. E também não pode mudar o sol em tempo real igual na Cry e na Unity. Mas achei um Video-tutorial q ensina a criar um sol q movimenta em tempo real, não assisti inteiro ainda mas acho q ensina a criar o ambiente e as nuvens também. Acho q não tem aqueles raios de sol passando por tráz  dos objetos conforme o sol se posiciona.
Também falta umas nuvens melhores q se movimentem gerando sombra.
Pretendo criar tudo isso, só não sei como fazer ainda. Sei q vai um pouco de Blueprint mas pelo q vi não parece complicado.

Esse é o link do tutorial.
https://www.youtube.com/watch?v=n7IiVU-oBK4

Só vou estudar esse tutorial depois q terminar o AutoLandscapeMaterial. Eu parei um pouco com o Shader de Oceano porque enjoei.
Depois q vi o vídeo da Unity com aquele render de Environement espetacular pensei em migrar pra ela. Mas não sei se compensa.

Uma dúvida:

Como devo usar o material de WorldNormal ?
Em rochas por exemplo...é melhor usar o NormalMap ou o WorldNormal ?

Lembrei agora...
Fiz um teste de um material pra terreno com agua movimentada nas cavidades das rochas usando um Mask. Funcionou.
Esse material também servirá para a Spline.
Mas ainda não adaptei o material corretamente. Tive q ativar o displacement somente em Z para q funcionasse direito.
Maldito displacement ruim da Unreal. Ainda não consegui acertar o displacement do Oceano. Aparece uns defeitos estranhos quando a camera está bem próxima a areia da praia na visão do player, não sei se é minha placa de vídeo ou a Engine. Ou a quantidade de polígonos q mesmo com tesselation ativado não funciona perfeitamente.

Bom...é isso ae por enquanto.
Vlw André!!!
Manda um abração pra família toda.
Té +
Oi Harley, tudo bem?

Eu que estou morrendo de rir aqui com o que você disse da sua irmã. KKKKKKKKKK

Concordo plenamente com o que disse sobre medicina, sem contar que hoje em dia o pessoal vai na faculdade para fumar maconha e aprender a ser um bom esquerdista.
Você já viu a página "Antes e Depois da Federal"?

https://pt-br.facebook.com/Antes-e-Depois-Da-Federal-612362175631647/

Eles mostram como as pessoas eram e como ficaram depois de entrarem numa universidade federal, são fotos reais, não são montagens!!!!

Falando de coisas sérias, se Deus quiser eu vou conseguir me mudar para o sítio este ano e finalmente terei paz, dai vou colocar as coisas em dia e depois disso quero muito produzir algum jogo diferente para ver no que dá.
A gente formaria uma boa dupla para isso, pois eu adoro animar, é a parte que mais gosto do 3ds max, não tenho mais saco para renderizar.
Concordo que o certo é fazer um jogo para celular, mas eu odeio celular e não tenho um, uso o da Elis se preciso falar com alguém e mais nada, então, vou precisar de ajuda nesta parte.

Legal ver como você está estudando firme o Material Editor do Unreal, este efeito de neve, musgo e areia no topo dos objetos com Height Map é muito bom e facilita demais a texturização de uma cena, certamente funciona com vegetações também.

Sobre o vídeo The Book of Dead no Unity, eles usaram objetos da Megascans, que é tudo escaneado em 3D, na internet tem vários vídeos de cenas com Megascans e Unreal que também são muito boas.

Olha este por exemplo: https://www.youtube.com/watch?v=CjQbd5TQ9jc

O sistema de iluminação do Unity é bem melhor do que o do Unreal, tem luzes Area retangular por exemplo, modifica o GI com perfeição em tempo real, entre outros, porém, os recursos de texturização são muito pobres no Unity e por isso é mais difícil obter resultados realistas nele.

Agora, com o lançamento da versão 2018, eles mudaram o sistema de Shading, adicionaram um editor de materiais por Nodes similar ao do Unreal e desde a versão passada aceita materiais Real-Time criados com o ShaderFX do 3ds max, tudo isso junto ajudou a melhorar a qualidade gráfica.
Se o Unreal não melhorar logo o seu sistema de iluminação, vai começar a ficar para trás.

Sobre a crição de Skybox no Unreal, é mais um processo super burocrático se comparado com o processo no Unity, pois precisa seguir diversos procedimentos para conseguir gerar um Cubemap decente.
Nesta página está a documentação do Unreal sobre o assunto: https://docs.unrealengine.com/latest/INT/Engine/Content/Types/Textures/Cubemaps/

OBS: Tem um erro na posição das imagens no tutorial da própria Epic, se não me engano é a imagem 4, mas você vai perceber nitidamente quando seguir o passo a passo.

Sobre a movimentação do sol em tempo real, você pode fazer facilmente lincando a luz num Box e criando um comando simples no Blueprint para girar o Box, porém, apesar da sombra se modificar em tempo real, o GI da cena não vai mudar igual acontece no Unity.
Para alterar o GI em tempo real no Unreal precisa usar o Light Propagation Volumes (LPV), que é um lixo e apresenta muitos problemas, então, é melhor deixar sem GI Real-Time.

Sobre as nuvens volumétricas, tem um Plug-in para o Unreal que cria efeitos volumétricos até interativos em tempo real, é muito legal.

Olha o vídeo e o link nesta notícia: http://3d1.com.br/noticia/66176

Sobre os raios de sol, no Unreal se chama Light Shafts, a documentação sobre isso fica neste link: https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/LightShafts/

Sobre migrar para o Unity, eu aprendi primeiro o Unity e só depois migrei para o Unreal, então, por isso que piro com as burocracias desnecessárias do Unreal que não tem no Unity, mas pelo menos até a versão 2017 você não conseguiria criar o material de oceano no Unity igual fez no Unreal a não ser que aprendesse a escrever Shaders através de código, agora colocaram um editor de materiais por Node, mas provavelmente não tem os mesmos recursos do editor do Unreal e vai levar um tempo para ter.

Outra coisa ruim no Unity é ter que programar as coisas escrevendo código, é mais difícil, mais chato e acontecem mais erros, mas em termos de iluminação o Unity é muito melhor do que o Unreal, sem sombra de dúvidas.

Sobre a questão dos tipos de Norma Map.

O Tangent Space é gerado quando você projeta os detalhes de um modelo High Poly num modelo Low Poly, então, você usa quando fez a retopologia de um modelo detalhado para transferir os detalhes para o objeto com poucos polígonos.

O Normal Map comum é gerado a partir de texturas ou de um objeto 3D High Poly sem projetar no Low Poly, então, você usa para reproduzir os detalhs dos materiais e geralmente vai mesclar com o Tangent Space quando ele existir.

Já o World Space Normal Map é gerado para definir a posição da geometria do objeto no mundo, para saber o que é parte de cima e parte de baixo, por exemplo, então, é usado para criar efeitos especiais nos materiais e na texturização como poeira, neve e musgo respeitando a geometria do objeto igual você fez no seu material de rocha.

Por isso que dependendo do caso você pode acabar usando os 3 tipos no mesmo material, sendo que, o Tangent e o Normal Map comum serão mesclados para aplicar no canal de Normal, mas o World Space será usado nos cálculos de outros efeitos e não será aplicado diretamente no canal de Normal.

Sobre o problema do Displacement no material de água, se teve que limitar em Z para funcionar direito, quando colocar numa cachoeira terá que limitar em X ou Y dependendo da posição dela, então, vai precisar de Blueprint.

Abração e tudo de bom.

André Vieira
Oi André.

Eu vi os links, ainda bem q Megascan fica ótimo na Unreal, mas haja placa de vídeo pra rodar essa gigantesca quantidade de asset na cena...kkkkkkk.

Muito legau o plugin de nuvem, não assisti tudo mas percebi q superou a CryEngine. Lá também tem esse plugin de nuvem q já vem incluso na cena de level automaticamente junto com Rayshafts. O GI da Cry acho melhor q o da Unity, pelo menos por enquanto. Na Cry quando ativa o TotalIllumination a cena fica incrivelmente realística até no interior de uma cabana por exemplo.
Achei a Unity muito parecida com a Unreal quanto as tonalidades de cores. Mas me parece q na Unity as cenas tem mais realismo, mais vida.

Vi q os Albedos de Megascan tem as cores bem vivas. Para funcionarem na Cry por exemplo: elas precisariam ser tratadas para ficarem mais fortes e mais escuras porque o render da Cry sobrepoem as cores amarelando tudo com SubsposiçãoLinear de 90%. Isso só com o sistema default sem alterar nada no environement.

André, você poderia mostrar um exemplo de como devo mesclar o NormalMap comum com o TangentNormalMap ?

Basicamente concluí o Shader de AutoPaintLandscape, falta melhorar algumas texturas e ajustar alguns angulos de distribuição. Acho q para criar realismo é necessário assets. Estou usando poucos materiais e até q ficou bem realista. Acho q não vou precisar de muitos materiais porque vou sobrepor o terreno com Assets até porque o displacement dos materiais de terreno são muito ruins e o personagem transpassa.
Obs: Na Cry o Terrain.Landscape só "simula" o efeito de displacement ele não o gera de verdade, teria algum jeito de fazer isso na Unreal ?

Preciso ativar o displacement dos materiais e não estou conseguindo, da error de float3. O cara do Tutorial também teve esse erro mas ele disse q tem um jeito de arrumar mas encerrou o tutorial antes de mostrar.
https://www.youtube.com/watch?v=FdWo_ffOr8s&t=490s
https://www.youtube.com/watch?v=fb1KnoJg28U  essa segunda parte é dificil de encontrar 
https://www.youtube.com/watch?v=oP1uD_pT4KE
https://www.youtube.com/watch?v=MzAAepWKMr4

Vou começar a criar TerrainAssets, para distribuir na superfícies dos terrenos mas quero importar meu próprio colider para cada asset, como faço isso aqui na Unreal?
Na Cry a gente importa tudo junto inclusive os lod's e um mesh bem LowPolly q sobrepoem a superfície com o prefixo _proxy q é o colider do objeto. É um processo super burocrático.

Preciso aprender como fazer um blurr nas áreas q os assets transpassam o terreno. Vou linkar um MaterialFunction usando VertexPaint no Material dos assets. Se houvesse outra forma q fosse mais simples seria melhor.

Grande Abraço André.
Té +
Oi Harley, tudo bem?

Realmente, os Assets escaneados são ótimos e foram otimizados, não possuem malhas densas, mas encher a cena com eles é só para quem tem placa de vídeo poderosa.

O Unreal tem o sistema de LOD para exibir versões mais leves dos objetos conforme a distância, pode ser até um simples Plane com a imagem do objeto em Alpha, também tem o Occlusion Culling para retirar da cena o que não aparece na vista, mas se exagerar vai ter problemas com a limitação do Hardware igual acontecia antigamente com renderização convencional, quando a gente tinha que economizar polígonos, lembra?

Fico feliz que gostou do Plug-in de nuvem, é muito legal mesmo e você pode modelar as nuvens em programas 3D se quiser, mas tem que programa 3D decente como o Houdini.

Sobre o GI da Cry, eu gostaria de testar, pois nunca nem encostei na Cry, mas o importante a saber é se você modificar o cenário o GI se modifica em tempo real?

É isso que faz toda a diferença no realismo de cenas realmente em Real-Time e também é a maior dificuldade que as Engnes precisam enfrentar, a Unity modifica o GI em tempo real graças a integração do Enlighten na versão 5, o único outro método comercial que conheço para fazer isso é o GameWorks da Nvidia, então, se a Cry conseguir fazer isso eu imagino que ela utiliza o GameWorks.
No Unreal é possível instalar o GameWorks e produzir este efeito com qualidade, mas fica pesadíssimo e no Unity é super leve, funciona até em PC velho e antigo, então, roda em qualquer celular.

Sobre o lance de corte aos 90%, eu sei do que você está falando, porque tem alguns renderizadores que usam este artifício para evitar que a pessoa coloque valores errados nas cores, deixando tudo mais claro do que deveria, então, em vez da cor branca ser RGB 255, ela passa para RGB 228, que é o valor correto do branco em RGB para as texturas e também é igual ao valor de 0.9 na exibição das cores em Linear, o mesmo deve acontecer com o preto, não aceita preto puro, se não me engano o mínimo é 0.02.

Eu sinceramente odeio isso, pois trata o usuário como retardado igual acontece no Arnold do 3ds max, que tem este limitador de 90% em tudo por padrão, mas lá felizemnte é possível voltar para 100, pois se trabalhar com 90% no programa final, não verá as cores corretamente nos demais programas que vai utilizar como Photoshop, Substance Designer e Painter, Z-Brush e tudo mais, vai fazer uma coisa e apenas no final vai ver outra.

Sobre o exemplo de composição de Normal Map convencional gerado a partir de texturas com um Tangent Normal Map gerado a partir de um objeto High Poly, olha a primeira imagem em anexo, é um helicóptero que texturizei no Substance Designer e usei o Node Normal Combine para combinar o Normal Map de cima, que cria as rugosidades dos desgastes e foi gerado a partir das texturas igual faz no Photoshop, com o Normal Map de baixo contendo os rebites e detalhes da fuselagem, esse Normal Map foi criado com Tangent projetando os detalhes do High Poly e na vista do Substance Designer mostrando o objeto texturizado está a versão Low Poly, que não tem nenhum destes detalhes de rebites e vincos, é completamente lisa.

Note o pedaço da imagem do Normal Map que aparece em cima da vista 3D, é a imagem do resultado do Node Combine, olha como os dois Normal Maps estão perfeitamente combinados.
No Photoshop eu acho que dá para fazer parecido usando o Overlay, mas pode ser que intensifique o efeito e dai precisa dar uma ajustada.

Sobre o Shader de Landscape, fico feliz de saber que terminou.
Está pensando em colocar no Market Place da Epic? É uma boa idéia!

Você tem razão sobre a questão de Assets, o mais demorado e chato de tudo em aplicações interativas é justamente ter que modelar, mapear, texturizar cada coisinha que precisar, pois agora não é mais uma imagem estática igual um cenário em estúdio, onde a gente montava tudo certinho numa determinada vista para o render ficar perfeito apenas naquela posição, agora tem que criar quilômetros de cenário detalhado porque a pessoa pode chegar perto de qualquer coisa, é bravo, precisa milhares de Assets dependendo do que vai fazer!!!

Não vale a pena criar tudo sozinho!!!
No seu terreno tem que pegar algumas árvores, pedras e vegetações para distribuir com os Layers como você já sabe fazer, a Epic tem vários pacotes gratuitos para download com estas coisas, essa semana mesmo divulguei um aqui na 3D1 com algumas pedras e outros Assets, mas tem muito mais, procura lá no Market Place.

O que divulguei essa semana está neste link: http://3d1.com.br/noticia/66666

Sobre a simulação do efeito de Displacement, é chamado de Parallax Occlusion no Unreal, antigamente tinha um Plug-in para o Max, chamado Relief, que fazia a mesma coisa.

Nesta página você encontra a explicação dele e exemplos do gráfico do material: https://wiki.unrealengine.com/Parallax_Occlusion_Mapping

Na semana passada eu divulguei o download de um Shader gratuito já com tudo configurado para este efeito e com texturas para testar, então, você vai poder estudar o material melhor ainda, está nesta página: http://3d1.com.br/noticia/66662

Certamente é melhor usar o Parallax Occlusion do que encher a cena com Displacement em tudo, pois não adianta colocar poucos Assets com alto Tessellation, vai ficar pesado e pobre, é melhor colocar mais Assets com poucos polígonos para preencher a cena com diversidade.
Tem que fazer LOD para tudo, menos o que já for Plane como as vegetações rasteiras e folhas de árvores, isso ajuda muito a aliviar a geometria da cena sem ter que sacrificar a qualidade.

Sobre o problema do Error de Float3 na configuração de um mapa de Displacement (Height Map), dei uma olhada nos vídeos, mas não posso parar para assistir tudo no momento, então, não encontrei a parte que aparece o problema, mas acredito que seja porque está usando uma imagem ou recurso RGB num lugar que pede um Scalar ou vice versa.

Float 3 (Vector3) é exatamente a mesma coisa que RGB, float 4 (Vector4) é o RGBA, pois as cores são tratadas como vetores no Unreal.

O Scalar é um simples valor com casa decimal (Float Point), é chamado de Scalar porque tecnicamente é o valor usado para escalar um vetor normalizado, mas poderiam chamar de Float se não quisessem complicar, ambos são a mesma coisa.

Então, um mapa em tons de cinza é Scalar, pois usa apenas um canal que varia de 0 até 1, não tem outros canais para preencher as outras posições de um Vector2, Vector3 ou Vector4.
Portanto, se tentar aplicar um recurso Scalar num lugar que pede Float3 ou vice versa, vai dar o erro de Float 3 ou Scalar.

Então, se for Float 3 tem que usar apenas um dos 3 canais para ligar no Scalar e se for um Scalar para ligar no Float 3 tem que fazer um Append de outros dois valores para ocupar as posições de G e B (Y e Z) no Vector 3.

Sobre a importação de Assets no Unreal com Colliders personalizados e LODs, pelo que você disse o método da Cry é parecido com o do Unreal, porém, no Unity é absurdamente mais prático.

O Collider tem que ser côncavo, não aceita objetos convexos, mas você pode criar vários Colliders se quiser, dai tem que nomeá-los com o prefixo UCX_ seguido do mesmo nome do Mesh que ele se refere e no final pode numerar a partir de _00, _01 e assim vai, se tiver vários Colliders para o mesmo Mesh.

Essa página explica detalhadamente o processo no Unreal: https://docs.unrealengine.com/latest/INT/Engine/Content/FBX/StaticMeshes/

No Unity o objeto pode ter até 128 faces com a forma que você quiser, é só importar e aplicar o component Mesh Collider, porém, no Unreal você também pode usar o próprio Mesh de um objeto como Collider se quiser e algumas vezes é a melhor opção, só é importante ser um objeto bem simples com poucas faces.
A segunda imagem em anexo mostra onde fica essa configuração para habilitar a colisão do Mesh dentro da janela do Mesh no Unreal.

Já os LODs são importados separadamente nesta mesma janela do Mesh, veja que logo abaixo da configuração de colisão tem o LOD Settings, então, é só clicar no Base LOD e escolher Import LOD1, LOD2 e assim vai.

Sobre o Vertex Paint para criar o Blur ou transparência no encontro dos Assets com o piso, dá trabalho pintar muitos objetos, pode ser mais prático e rápido gerar um mapa de AO colocando um Plane em baixo do Asset, pois vai produzir o mesmo gradiente que precisa para aplicar qualquer efeito.

Abração e tudo de bom.

André Vieira
Oi André.

Você acertou tudo sobre o esquema da CryEngine. Se você for testar a Engine irá perceber q o Material Editor dela é muito parecido com 3dsMax.
Mas a Cry não chega aos pés da Unreal em termos de complexidade, flexibilidade e estabilidade.
Ela tem muito Bug, é muito perigoso atualizar versão porque pode bugar totalmente o projeto e as vezes buga até a própria Engine e quando acontece é quase impossível desinstalar ou reparar o programa para depois poder reinstalar, ela é super instável.
"Importante" quando for desinstalar a CryEngine tem q usar o programa próprio dela, senão não irá conseguir reinstalar, as vezes tem q formatar o HD. Tem programas q desinstalam completamente, mas é perigoso usar, pode bugar o windows.
Tem pouquíssimos tutoriais e 98% desses tutoriais são das versões mais antigas, muitas vezes não servem para versão atual.
Ela é extremamente burocrática, tem q seguir regras pra tudo.

Texturas precisam ser exportadas usando o CryExporter e cada tipo de textura tem sua forma correta conforme o programa demanda. Exemplo: Albedo ou Difuse tem prefixo _diff no fim, mas tem vários tipos de exportação para Albedo. Albedo comum tem q marcar opção Albedo.
Albedo para texturas de LandscapePainter tem q marcar Terrain.layer e também é _diff
Normal tem q ter o Glossiness(q é o Roughness na Unreal) no canal alfa e prefixo _ddna. Marcar Normal With Smoothness.
Displacement precisa estar no alpha de uma textura Gray  _displ. Marcar Displacement e exportar somente Alpha.
Specular _spec. Só marcar Specular.
Não usa AmbientOcclusion.

Criei uma forma de visualizar antecipadamente como ficarão as cores dentro da CryEngine.
No Photoshop, importe a textura de Albedo(ou Difuse) e crie uma Layer superior, pinte com as cores R 81  G 75  B 55 modifique a Layer para "Subexposição Linear (Adicionar)" marcando 90% na opacity.
Assim você verá como o ColorMap ficará na CryEngine e poderá fazer ajustes antes de exportar para a Cry.

Depois se você quizer, passa essas informações pro povo do site. Porque ninguem conhece essa técnica, eu nunca tinha divulgado.
A grande maioria q testa a CryEngine desiste porque não conseguem achar uma solução para resolver esse exato problema. Eu mesmo quase desisti.

------------------------------------------------------
A CryEngine tem poucas vantagens sobre a Unreal, o Render é a maior delas.

Já estão inclusos todos os efeitos de luz e atmosfera, só precisam ser habilitados.

Pode mudar a posição do sol alternando de dia para noite em tempo real q o GI acompanha perfeitamente. Assim consegue ver em tempo real a qualidade verdadeira dos materiais...brilho, cor, rugosidade, iluminação, umidade...tudo.

No Sistema q gera Landscape; Quando é importado o HeightMap do Zbrush o terreno fica idêntico, funciona perfeitamente.

O PaintLandscape dela é muito superior e muito mais simples, aguenta materiais pesados não sei dizer a quantidade máxima, eu testei até 30 materiais diferentes. O efeito de Parallax já está incluso com base no HeightMap. Não trava nem fica lenta e não fica compilando.

Ela já vem com todos os tipos de materiais de agua prontos e são excelentes. Possuem efeitos atmosféricos de reflexão q não tem como recriar na Unreal. Se eu podesse usar só 10% de tudo q desenvolvi no meu OceanShader dentro da CryEngine já ficaria melhor q os 100% na Unreal.

Tem Miscelaneos prontos q servem para distribuir tanto estradas quanto riachos, lagos etc...tudo por spline também.

Assets podem ser importados de forma q sejam destruidos quando levam tiro. Não sei se é possível isso na Unreal.

Tem a Iluminação Global perfeita (a mais perfeita q eu já vi) só precisa habilitar o TotalIllumination. Exemplo: No interior de uma Cabana a iluminação fica idêntica a realidade.

Não precisa ficar compilando iluminação toda vez q importa ou muda um objeto de lugar.
------------------------------------------------------

Agora eu entendi o q é Float e Scalar e também sobre o NormalMap. Muito obrigado André, ajudou muito.

Tive um problema q não encontro solução. Vou Anexar o gráfico de um MaterialFunction.
Esse é um dos MaterialFunction's usados no meu AutoPaintLandscapeShader. Ainda não consegui ativar o Parallax. Acho q é porque um material xyz não funciona com Parallax q é somente XY.
Parece q com WorldAlignedTexture não funciona. Só funciona quando faço aquele esquema padrão do tutorial e mesmo assim ainda cria umas sombras extranhas.

Grande abraço.

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707503.

Total de membros registrados: 135158

Últimos membros registrados: djsoul, LETICIACRISTINA77, dumps23, ksanzvra, gigathccarts, Deidara026, tavin21, cynthh_.

Usuário(s) on-line na última hora: 765, sendo 23 membro(s) e 742 visitante(s).

Membro(s) on-line na última hora: clastac, Carlos E. Nogueira, CNC, Roberto Movanni, Sergio1987, emersonforentin, Eng Damasceno, Thiago, djsoul, mastermax, Henrique Ribeiro, Gauchu, Juarez, xXxanayasmovisk_01fofaxXx, Allen Anderson, TadeuB79, Le_Andro, Daniel Monteiro, Roberto Trevelin, estebanXRK, Fernando Cunha, nakan14, SaavedraCG.

Legenda: Administrador, Especial, Moderador, Parceiro .

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