Oi Abílio, tudo bem?
Desculpe não ter sido mais claro, mas é o que eu te falei na outra mensagem, tem coisas que são impossíveis de explicar em mensagens no fórum, pois mesmo em vídeo levaria horas.
Realmente é fácil criar material dinâmico, mas só depois que entende o mínimo sobre Blueprints, pois para explicar do zero tem um certo caminho para percorrer.
Então, eu fiz um exemplo para te mostrar e coloquei o arquivo do Unreal no Mega para você baixar e estudar.
Usei aquele mesmo material que criei para te mostrar o desgaste com mapa de curvatura, assim, ele servirá para todos os objetos e poderá variar como quiser em cada um de forma independente, além de facilitar as configurações acessando pelo painel Details.
Eu tentei instalar o Substance para usar uma textura gerada por um SBSAR, mas não sei porque deu erro na instalação, mas não muda nada, a única diferença é que em vez de colocar uma imagem importada na textura de curvatura iria colocar a textura gerada pelo Substance.
Segue o passo a passo:
1- Primeiro tem que criar um Blueprint do tipo Actor, acessar ele, clicar no Add do painel Components e adicionar um Static Mesh, eu coloquei o nome de Objeto nele.
Dai é só entrar no gráfico do Construction Script, arrastar o Objeto para ele, puxar o pino do Objeto e pegar o Set Static Mesh, dai promove a variável do New Mesh e coloca um nome, eu coloquei Mesh Objeto.
2- Pega o Objeto de novo, arrasta o pino dele e pega o Create Dynamic Material Instance, puxa novamente o pino do objeto e pega o Get Material para conectar no Source Material do Dynamic Material.
Depois promove o Return Value e coloca um nome, eu coloquei Mat Dinamico Objeto.
3- Pega o Mat Dinamico Objeto, arrasta o pino dele e pega o Set Vector Parameter Value, coloca o nome do parâmetro do material que deseja modificar, no meu caso era a Cor Concavidades, dai promove a variável Value e coloca o nome Cor Concavidades.
Tem que fazer o mesmo para as outras duas cores.
4- Pega o Mat Dinamico Objeto, arrasta o pino dele e pega o Set Scalar Parameter Value, coloca o nome do parâmetro do material que deseja modificar, no meu caso era o Power, dai promove a variável Value e coloca o nome Power.
Precisa fazer o mesmo para o Multi e o Add.
5- Pega o Mat Dinamico Objeto, arrasta o pino dele e pega o Set Texture Parameter Value, coloca o nome do parâmetro do material que deseja modificar, no meu caso era o Mapa Curvature, dai promove a variável Value e coloca o nome Mapa Curvature.
6- Dai precisa selecionar estas variáveis que controlam os parâmetros do material e habilitar o ícone do olho no painel Variables, como mostra a imagem 6.
O ideal é colocar elas em categorias para não deixar a interface bagunçada, é só selecionar cada uma e digitar o nome da categoria que deseja no painel da direita, marcado na imagem 6.
Pronto, é só clicar no Compile e no Save do Blueprint e pode fechar.
7- Agora, é só arrastar o Blueprint para a cena, adicionar o objeto no Slot Objeto, ele precisa já estar com o material do desgaste aplicado, dai selecionando o objeto você vai ver as configurações do material no painel Detail e pode modificar como quiser.
Se fizer uma cópia do objeto e modificar as configurações, não vai afetar o primeiro e continua usando o mesmo material.
Se quiser pode adicionar um objeto diferente no Slot Objeto, o mapa de curvatura dele e vai continuar funcionando com o mesmo material.
Ainda pode usar Nodes de randomização para modificar automaticamente as cores e parâmetros conforme copiar os objetos, por exemplo.
Percebe agora como os Blueprints são importantíssimos?
E este é um exemplo completamente idiota, é o mínimo do mínimo que dá para fazer.
Foi salvo na versão 5.1.1.
Abração e tudo de bom.
André Vieira