Material de Oceano na Unreal Engine

Por: Harley  

Em: 09/11/2017 13:49

O material é completamente worldScale.

Esse Material não apresenta quadrilhamento (nunca) tanto visto de longe quanto de perto.

Possue ondas de corrente de retorno q circulam a ilha para o eixo central. Essas ondas são totalmente editáveis. Mas o usuário precisa configurar o eicho central no mundo. Caso precise criar uma segunda ou terceira ilha o material precisa ser instanciado, ainda não criei uma solução para esse problema, acredito q exista uma forma, mas não é coisa simples.

As cores se adaptam ao formato da ilha conforme a colisão com a agua. Também será totalmente configurável.

A espuma do mar tambem é editavel, tanto na corrente de retorno quanto nas ondas comuns.

A parte visual não está pronta, preciso ajustar muita coisa.

O displacement basico ainda nao está muito bom, nao estou conseguindo visualizar ele com o maximo de detalhes acho q é por causa da quantidade de poligonos, mesmo ligando o tesselation quando eu aproximo extremamente a camera apresenta algum tipo de defeito, acho q deve ser por causa da escala, nao sei ainda. Quanto a escala, esse material está sendo desenvolvido para escalas equivalentes a de World of Warcraft.
----------------------------------------------------------
Dúvidas:
----------------------------------------------------------
Preciso testar esse material em infinity Scale, mas não sei fazer isso, sou novo em UnrealEngine, não manjo nem de Blueprint ainda, acho q vou precisar aprender para usar esse esquema de infinito e tornar o material editável.
----------------------------------------------------------

Eu estava usando CryEngine q é PBR, reparei q a Unreal não é. Sei q o Normal map também é negativo em Green na Unreal, mas achei muito esquisito a forma q o render trabalha, parece bem enfraquecido mesmo usando multiply.
Na CryEngine o Normal map é perfeito e o render é muito mais poderoso, o glossines segue perfeitamente o PBR e trabalha igualmente com Albedo e (Difuse (até melhor na minha opinião)) mas é bem dificil configurar corretamente as cores para usar na CryEngine porque a Subesposição Linear do Render deles altera muito as cores, mas existe um truque q eu descobri usando Photoshop q previne isso, permitindo ver como irá ficar no Render da Cry antes de transformá-la em .tiff.
Parei com a CryEngine porque ela é super limitada, não existem tutoriais e os q tem não servem porque estão utrapassados, a Cry evoluiu muito desde a 5.0 até a 5.3, mudou até a forma de exportar os materiais, pior q eles não explicam nada eu precisei  descobrir tudo sem ajuda, fiz um milhão de testes. Imagina voce ter q depender de tutoriais da versão 3...
O forum da Cry também é horrível, ninguem ajuda em nada.

Oi Harley, tudo bem?

Que bom ver uma mensagem sua aqui no fórum, estou com saudades das nossas conversas, infelizmente agora moramos longe, é uma pena, a gente devia ter aproveitado mais para se encontrar quando morávamos perto.

OBS: Eu estou trabalhando na sua biblioteca, vai ser a última com texturização para o Mental Ray, as próximas serão apenas para o V-Ray.

Sobre o material de oceano que criou no Unreal, parabéns, eu adorei, gostaria de ver um vídeo para ver a movimentação da água e das ondas.


Sobre as suas dúvidas, eu não sou um especialista no Unreal, mas até hoje consegui fazer tudo que queria, não entendi a questão que deseja saber sobre Infinity Scale.

Você quer aplicar o material num oceano maior sem aumentar junto o tamanho das texturas?

Se for isso você pode usar o Node TexCoord multiplicando por um Scalar Parameter como mostra a primeira imagem em anexo, assim, se colocar 2 no Scalar Parameter, a textura vai se repetir lado a lado duas vezes colocando 4 texturas na mesma área onde antes só tinha uma, igual ao Tile do Bitmap do 3ds max.

Também pode criar um controle para ajustar a intensidade do Normal Map e não ficar muito drástico quando repetir as texturas, para isso você usa um Scalar Parameter ligado nos dois canais do Append para criar um Vector2, depois adiciona mais um Append com zero no valor B para criar um Vector3, dai isso é conectado no canal Add do Multiply Add como mostra a primeira imagem em anexo, assim, você vai controlar a intensidade do Normal Map no valor do Scalar Parameter.


Também não entendi a questão de tornar o material editável, o material mesmo só pode ser editado no Material Editor e tem que salvar para compilar, por isso que normalmente criamos um material base e usamos instâncias dele, as instâncias podem ser editadas em tempo real sem compilar.
Você cria os parâmetros que deseja editar usando os Nodes do grupo Parameters, como mostra a segunda imagem em anexo.

Então, se quiser criar um parâmetro decimal você usa o Scalar Parameter, se quiser criar uma cor você usa o Vector4, se quiser trocar a textura do material você usa o Texture Sample Parameter 2D, basicamente são estes 3 que mais usamos.

Quando criar uma instância do material estes parâmetros aparecerão no menu da instância para você alterar em tempo real.

Também poderá alterar durante o Game através de Blueprints, não é difícil, mas precisa de uma pequena base nos Blueprints.
Basicamente você cria um Node Dynamic Material Instance no Blueprint indicando o material que deseja e dai você consegue acessar os parâmetros que criou no material para mudar como quiser.


Sobre o CryEngine e PBR, eu não conheço o Cry para falar, só conheço Unity e Unreal, o Unity já passou pela transição para PBR e o Unreal está passando, então, tem coisas que são PBR e tem coisas que não, por exemplo, a Spot e a Point Light aceitam intensidade real, mas a Directional não, porém, os materiais são PBR.

Agora, Albedo é diferente de Diffuse, pois o Albeto não tem nenhuma informação de iluminação, ou seja, é uma textura sem nenhum sombreamento e normalmente com as cores bem suaves, até um pouco lavadas, já o Diffuse é a imagem de cor que estamos acostumados como qualquer foto, que tem informações de iluminação e sombreamentos.
No Unreal e no Unity só fica bom o Albedo, pois se usar Diffuse vai prejudicar o cálculo de GI obtendo uma imagem mais escura do que deveria.

Note que você também pode alterar a exposição da imagem livremente para fotos e animações no menu Lit > Exposure, que aparece no canto superior esquerdo da Viewport.
Já a exposição no jogo depende de alterar o Automatic Exposure Control no Post Processing Volume.

No que eu puder te ajudar com o Unreal, é só falar, pois vou te responder com o maior prazer.

Abração e tudo de bom.

André Vieira





Oi André, faz bastante tempo q a gente não conversa, fico contente por voçê ter respondido, sei q voçês são bastante atarefados e sobra pouco tempo, estou muito agradecido.

Sobre o WorldScale:

Essa função faz com q o material se mantenha sempre na mesma escala independente do tamanho do plane ou qualquer outro objeto em q ele seja aplicado, mesmo alterando a escala do objeto um milhão de vezes, o material continuará estável e estático no mundo.
Exemplo: Imagina uma ilha q está envolta pelo material de oceano. Posso mudar o tamanho dela e a localização sem problemas porque o material sempre continuará agindo sobre ela com 100% de eficiencia e manterá sempre a mesma escala das ondas juntamente com todos os mesmos efeitos. O material tambem se adapta a resolução de extrema proximidade com a camera usando PixelDepht sem perder qualidade de resolução.

Mantive contatos no Linkedin com algumas empresas de games, reparei q haviam coisas q nunca foram feitas nem pensadas.
Exemplo: As ondas de corrente de retorno q circulam as ilhas em rota de colisão com o terreno em todas as direções para um eixo central, consegui criar isso sem fazer gambiarras e principalmente em WorldScale, só precisa mudar as coordenadas indicando o eixo central da ilha independente da localização e escala dela, pra isso q serve o WorldScale.

André, depois passa pra mim o link de algum programa de video, pode ser um bem simples só pra eu gravar o material e postar aqui no forum. Faz tempo q não manipulo videos, ja esqueci tudo.

Estou anexando algumas imagens de algumas partes da composição do material, incluindo pixeldepht e worldscale(posição absoluta do mundo).

Gostei muito da UnrealEngine porque com ela tudo é possível ser feito, o material editor dela realmente destroi a CryEngine.
Só falta melhorar o Render.
Oi Harley, tudo bem?

Apesar de todo o trabalho eu estou tentanto na medida do possível responder o fórum todos os dias, pois ele estava largado e morrendo.

Vai ser muito legal poder trocar idéias com você aqui sobre Unreal e se eu voltar a morar em Valinhos a gente vai fazer um jogo juntos heim!!!

Pelo visto eu estava tentando ensinar o padre a rezar a missa, pois pelo gráfico do seu material dá para ver que já está bem por dentro do assunto.

Mas ficou um material bem pesado para exibir, pois está usando 15 dos 16 Samples possíveis, se adicionar mais duas texturas acabou, não vai compilar.

Você pode ver a complexidade do Shader na Viewport habilitando a opção Shader Complexity no menu Lit > Optimizations, como mostra a primeira imagem em anexo.
É normal ter alguns Shaders pesados, ainda mais num caso como este que o objeto é muito importante para a cena, mas não pode deixar passar de 16 Samples.

Existem opções para otimizar o Shader, fazendo o Bake de algumas composições.

Sobre a questão do Infinity Scale, agora eu entendi o que você deseja fazer, quer cancelar a escala do UV, é quase a mesma coisa do Tile, pois a textura vai se repetir conforme aumentar o objeto e ele passar do tamanho dela.

Mas para fazer só com o TexCoord teria que usar Blueprint no objeto para a textura reconhecer o quanto o objeto foi aumentado e poder se ajustar automaticamente.

Neste caso é muito mais simples usar o Node Object Radius na multiplicação do TexCoord, porque ele vai reconhecer automaticamente o Bounding Sphere do objeto, assim, poderá aumentar o objeto ou diminuir que a textura sempre ficará com o mesmo tamanho.

Isso depende do valor que ajustar no canal B do Divide, como mostra a segunda imagem em anexo, no caso está dividindo por 100 e você precisa encontrar o valor adequado para o seu caso.
Pode ser mais fácil aplicar um Parameter no canal B do Divide para você ajustar em tempo real.

Sobre programa de vídeo gratuito, se for para juntar sequência de imagens você pode usar o VirtualDub, o link dele é esse: http://virtualdub.sourceforge.net/

Agora, para captura de vídeo todo mundo usa o Camtasia, porém, se for para capturar o vídeo de uma cena no Unreal, você pode salvar direto dele em MP4 com o Sequencer, é só clicar no Cinematics > Add Level Sequence, assim, vai criar o Sequencer na cena, abrindo ele você clica no Add e adiciona o Camera Cuts, dai clica no +Camera do Camera Cuts e escolhe a sua câmera na cena.
Você pode ajustar a duração igual num editor de vídeo e o ícone da câmera gera o vídeo em MP4, como mostra a terceira imagem em anexo.

Abração e tudo de bom.

André Vieira






Valeu André !!!
Gostei da ideia de criar um jogo, na parte gráfica acho q conseguiríamos emparelhar com as grandes empresas.
Sobre UnrealEngine eu comecei a pouco tempo, só conheço bem o MaterialEditor, o restante não entendo quase nada.
A parte boa é q tenho domínio completo de Modelamento, Mapeamento e principalmente Texturização, mas ja esqueci completamente Bones e Riguer, etc. Preciso me reatualizar.
Usando o Zbrush consigo modelar e texturizar qualquer coisa.
A textura anexa de rocha está um pouco escura porque é pro render da CryEngine q tem SubesposiçãoLinear de 90%, por isso q está escura e as cores estão bem fortes. Se eu usasse esse difuse na Unreal ficaria muito ruim e se fosse usar albedo também, porque os renders são completamente diferentes. Sem falar no glossiness q precisa ter o PBR correto.

Vou mostrar também algumas imagens de terrenos q eu desenvolvi na CryEngine. Na Cry as texturas de terreno são diferentes e não seguem PBR exato, precisam ter glossines bastante escuro e o (difuse ou albedo) tem q ser exportado de forma diferente porque serão Terrain.Layer para poderem ser pintados na landscape usando a ferramenta padrão. Quando eu preparar essas texturas pra Unreal terei muito mais opções e vou poder testar umas idéias enovadoras. Depois explico pra você por email.

Se voçês precisarem de ajuda com o forum me avisa, estou sem trabalhar no momento e tentarei alguma empresa de jogos aqui do Brasil mesmo, quero fazer parte de projetos nacionais, sei q posso colaborar bastante com o desenvolvimento delas na parte gráfica.
Valeu André !!!
Gostei da ideia de criar um jogo, na parte gráfica acho q conseguiríamos emparelhar com as grandes empresas.
Sobre UnrealEngine eu comecei a pouco tempo, só conheço bem o MaterialEditor, o restante não entendo quase nada.
A parte boa é q tenho domínio completo de Modelamento, Mapeamento e principalmente Texturização, mas ja esqueci completamente Bones e Riguer, etc. Preciso me reatualizar.
Usando o Zbrush consigo modelar e texturizar qualquer coisa.
A textura anexa de rocha está um pouco escura porque é pro render da CryEngine q tem SubesposiçãoLinear de 90%, por isso q está escura e as cores estão bem fortes. Se eu usasse esse difuse na Unreal ficaria muito ruim e se fosse usar albedo também, porque os renders são completamente diferentes. Sem falar no glossiness q precisa ter o PBR correto.

Vou mostrar também algumas imagens de terrenos q eu desenvolvi na CryEngine. Na Cry as texturas de terreno são diferentes e não seguem PBR exato, precisam ter glossines bastante escuro e o (difuse ou albedo) tem q ser exportado de forma diferente porque serão Terrain.Layer para poderem ser pintados na landscape usando a ferramenta padrão. Quando eu preparar essas texturas pra Unreal terei muito mais opções e vou poder testar umas idéias enovadoras. Depois explico pra você por email.

Se voçês precisarem de ajuda com o forum me avisa, estou sem trabalhar no momento e tentarei alguma empresa de jogos aqui do Brasil mesmo, quero fazer parte de projetos nacionais, sei q posso colaborar bastante com o desenvolvimento delas na parte gráfica.
Valeu André !!!
Gostei da ideia de criar um jogo, na parte gráfica acho q conseguiríamos emparelhar com as grandes empresas.
Sobre UnrealEngine eu comecei a pouco tempo, só conheço bem o MaterialEditor, o restante não entendo quase nada.
A parte boa é q tenho domínio completo de Modelamento, Mapeamento e principalmente Texturização, mas ja esqueci completamente Bones e Riguer, etc. Preciso me reatualizar.
Usando o Zbrush consigo modelar e texturizar qualquer coisa.
A textura anexa de rocha está um pouco escura porque é pro render da CryEngine q tem SubesposiçãoLinear de 90%, por isso q está escura e as cores estão bem fortes. Se eu usasse esse difuse na Unreal ficaria muito ruim e se fosse usar albedo também, porque os renders são completamente diferentes. Sem falar no glossiness q precisa ter o PBR correto.

Vou mostrar também algumas imagens de terrenos q eu desenvolvi na CryEngine. Na Cry as texturas de terreno são diferentes e não seguem PBR exato, precisam ter glossines bastante escuro e o (difuse ou albedo) tem q ser exportado de forma diferente porque serão Terrain.Layer para poderem ser pintados na landscape usando a ferramenta padrão. Quando eu preparar essas texturas pra Unreal terei muito mais opções e vou poder testar umas idéias enovadoras. Depois explico pra você por email.

Se voçês precisarem de ajuda com o forum me avisa, estou sem trabalhar no momento e tentarei alguma empresa de jogos aqui do Brasil mesmo, quero fazer parte de projetos nacionais, sei q posso colaborar bastante com o desenvolvimento delas na parte gráfica.
Valeu André !!!
Gostei da ideia de criar um jogo, na parte gráfica acho q conseguiríamos emparelhar com as grandes empresas.
Sobre UnrealEngine eu comecei a pouco tempo, só conheço bem o MaterialEditor, o restante não entendo quase nada.
A parte boa é q tenho domínio completo de Modelamento, Mapeamento e principalmente Texturização, mas ja esqueci completamente Bones e Riguer, etc. Preciso me reatualizar.
Usando o Zbrush consigo modelar e texturizar qualquer coisa.
A textura anexa de rocha está um pouco escura porque é pro render da CryEngine q tem SubesposiçãoLinear de 90%, por isso q está escura e as cores estão bem fortes. Se eu usasse esse difuse na Unreal ficaria muito ruim e se fosse usar albedo também, porque os renders são completamente diferentes. Sem falar no glossiness q precisa ter o PBR correto.

Vou mostrar também algumas imagens de terrenos q eu desenvolvi na CryEngine. Na Cry as texturas de terreno são diferentes e não seguem PBR exato, precisam ter glossines bastante escuro e o (difuse ou albedo) tem q ser exportado de forma diferente porque serão Terrain.Layer para poderem ser pintados na landscape usando a ferramenta padrão. Quando eu preparar essas texturas pra Unreal terei muito mais opções e vou poder testar umas idéias enovadoras. Depois explico pra você por email.

Se voçês precisarem de ajuda com o forum me avisa, estou sem trabalhar no momento e tentarei alguma empresa de jogos aqui do Brasil mesmo, quero fazer parte de projetos nacionais, sei q posso colaborar bastante com o desenvolvimento delas na parte gráfica.
Valeu André !!!
Gostei da ideia de criar um jogo, na parte gráfica acho q conseguiríamos emparelhar com as grandes empresas.
Sobre UnrealEngine eu comecei a pouco tempo, só conheço bem o MaterialEditor, o restante não entendo quase nada.
A parte boa é q tenho domínio completo de Modelamento, Mapeamento e principalmente Texturização, mas ja esqueci completamente Bones e Riguer, etc. Preciso me reatualizar.
Usando o Zbrush consigo modelar e texturizar qualquer coisa.
A textura anexa de rocha está um pouco escura porque é pro render da CryEngine q tem SubesposiçãoLinear de 90%, por isso q está escura e as cores estão bem fortes. Se eu usasse esse difuse na Unreal ficaria muito ruim e se fosse usar albedo também, porque os renders são completamente diferentes. Sem falar no glossiness q precisa ter o PBR correto.

Vou mostrar também algumas imagens de terrenos q eu desenvolvi na CryEngine. Na Cry as texturas de terreno são diferentes e não seguem PBR exato, precisam ter glossines bastante escuro e o (difuse ou albedo) tem q ser exportado de forma diferente porque serão Terrain.Layer para poderem ser pintados na landscape usando a ferramenta padrão. Quando eu preparar essas texturas pra Unreal terei muito mais opções e vou poder testar umas idéias enovadoras. Depois explico pra você por email.

Se voçês precisarem de ajuda com o forum me avisa, estou sem trabalhar no momento e tentarei alguma empresa de jogos aqui do Brasil mesmo, quero fazer parte de projetos nacionais, sei q posso colaborar bastante com o desenvolvimento delas na parte gráfica.

Faça o login para poder comentar

USUÁRIOS CONECTADOS

Total de mensagens publicadas pelos membros da comunidade: 664052.

Total de membros registrados: 103711

Últimos membros registrados: Julião, claudiciana, Napoleão, Rhavy, IGOR ARAUJO, Rodrigo, tatydesign, Nayh.

Usuário(s) on-line no momento: 381, sendo 1 membro(s) e 380 visitante(s).

Membro(s) on-line no momento: gvchagas.

Legenda: Administrador, Especial, Moderador, Parceiro .

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