3D1 azulejos no substance designer
azulejos no substance designer
Em: 09/07/2019 15:35
Abilio 09/07/2019 15:35 Localização: abilio - AC Registrado: 05/08/2006 10:31
eu tenho aqui um chão de azulejos , com os azulejos modelados um a um , todos no mesmo ID
é possivel no substance designer criar/aplicar uma textura de marmore sem que esta repita seu desenho em cada um dos azulejos ?
ou eu tenho que separar os IDs dos azulejos um a um ?
Andre Vieira 09/07/2019 21:50 Localização: Campinas - SP - SP Registrado: 03/01/2003 15:03
É possível fazer com e sem os IDs de várias formas diferentes, daria para escrever um livro só sobre isso.
Dá na mesma se tiver ou não os IDs, pois o que importa é o Bake da máscara de cor, uma imagem onde cada piso aparece com uma cor diferente.
Essa máscara pode ser criada baseada nos IDs, aplicando cores aleatórias automaticamente em cada Mesh ou definindo as cores manualmente na janela de Bake do Substance Designer.
Com a máscara de cor tem várias formas de definir como as coisas vão aparecer dentro de cada cor.
Depende de como vai construir o sistema, já que o Substance Designer é um Soft para programar Shaders visualmente.
As composições com o Node Flood Fill podem ser bem úteis neste caso.
O jeito mais básico de todos é usar o Node Multi-Material Blend para separar cada material com um mapa de cor, como mostra a primeira imagem em anexo.
No exemplo eu habilitei apenas o Base Color e criei 4 Materiais, igual o Multi/Sub-Object do 3ds max, em cada um coloquei só a textura da cor e usei a máscara colorida com 4 pisos para definir onde cada uma aparece.
Um recurso um pouco mais avançado, mas que pode ajudar muito nesta questão, é o Node Pixel Processor.
Ele permite processar cada Pixel da imagem da forma que desejar, então, poderá mapear partes da textura aleatoriamente nos pisos para quebrar a continuidade entre um ladrilho e outro.
Anos atrás eu fiz um Substance com o Pixel Processor para gerar pisos igual você falou, mas usando padrões predefinidos, porém, não me toquei na hora de adicionar algum recurso para ladrilhar a imagem sem apresentar emendas, então, só vai ficar legal se aplicar uma imagem ladrilhável.
A segunda imagem em anexo mostra o resultado do meu Substance com uma imagem que não é ladrilhável, ele recorta os pisos direito, mas aparece a emenda da repetição em alguns deles.
O Substance que criei para gerar pisos está neste link: https://3d1.com.br/recursos/259/gerador-de-pisos
Você até pode usá-lo como Node na composição de outros Substances com o Substance Designer.
Abilio 10/07/2019 16:42 Localização: abilio - AC Registrado: 05/08/2006 10:31
segue mais perguntas
quando texturizamos uma cena com varios objetos no substance designer
quando retornamos a cena para continuar o trabalho no max
é possivel abrir as texturas criadas no substance designer de uma vez só ?
ou só abrindo substance por substance para cada objeto da cena ?
Andre Vieira 10/07/2019 19:22 Localização: Campinas - SP - SP Registrado: 03/01/2003 15:03
Tudo depende da forma que você compor o Substance, por exemplo, você pode fazer um Substance SBSAR com apenas um gráfico de material, dai ele terá somente este material.
Porém, pode fazer um Substance com diversos gráficos de materiais e ter todos os materiais do projeto num único SBSAR.
Ainda pode mesclar os materiais gerando um Atlas de texturas para juntar vários materiais na mesma textura, como é comum em Games e aplicações interativas.
Veja o exemplo deste Bugue antigo que fiz muitos anos atrás, o Substance dele contém diversos gráficos, cada um com um determinado material.
Também tem gráficos que juntam diversos materiais numa única textura, como o mostrado na imagem, que reúne os diversos materiais aplicados na carroceria.
Então, quando eu abrir este SBSAR no 3ds max, Unreal ou qualquer outro programa, não vou ter que carregar cada um dos gráficos dos materiais nos IDs corretos do Multi/Sub-Object, vou carregar apenas o material da carroceria.
O Substance Designer oferece diversos Workflows, você pode criar materiais genéricos para aplicar nos objetos fazendo as mesclagens no programa 3D que escolher, ou pode criar materiais específicos para um determinado objeto com tudo que ele precisa, além de permitir a personalização a qualquer momento de acordo com os parâmetros que você criar e expor no SBSAR.
Neste último caso o comum é criar gráficos dos materiais genéricos e depois, num outro gráfico, usar os Nodes de Blend Material e Mask Generators para juntar os materiais e aplicar nas diversas partes do objeto.
Abilio 10/07/2019 20:52 Localização: abilio - AC Registrado: 05/08/2006 10:31
voce tem tutorial de como fazer este multi material para todos os objetos da cena ?
principalmente se eu mandar a cena para o substance com cada objeto em um ID diferente ?
ai no max é só aplicar este multi material selecionando todos os objetos ? certo ?
no caso do azulejo :
voce não entendeu :
seria diversos azulejos , cada um como um objeto diferente
mas todos com o mesmo ID
ai fazer um material de marmore que não repita seu desenho nos diversos objetos/azulejos
Andre Vieira 11/07/2019 20:12 Localização: Campinas - SP - SP Registrado: 03/01/2003 15:03
Sobre o Multi-Material, você precisa levar em consideração a questão do mapeamento!
Veja só, o mapeamento tem uma área útil e cada Editable Mesh ou Editable Poly em princípio possui apenas uma área útil de mapeamento, mas cada Editable Poly ou Editable Mesh pode ter trocentos Elements dentro dele.
Então, se pegar uma cena inteira, colocar um ID em cada objeto e anexar tudo no mesmo Mesh trancformando cada objeto num Element do Mesh, os mapeamentos de todos os objetos ficarão sobrepostos uns sobre os outros.
Não tem problema no Substance Designer e no 3ds max, mas vai ter problema no Substance Painter e nas Engines de Games como Unreal e Unity.
Uma opção é usar o sistema UDIM, que oferece diversas áreas úteis de mapeamento para acomodar cada Element do Mesh.
Outra coisa é o peso do Substance contendo todos os materiais da cena, pode não ser vantagem ter que ler todos os materiais ao mesmo tempo quando poderia ler apenas os que precisar no momento.
Basicamente você vai trocar uma lista de arquivos Substance por uma lista de materiais dentro de um único Substance, as vezes vale a pena e outras não.
No caso do Bugue, por exemplo, ele todo será lido ao mesmo tempo e seus materiais vão se modificando com o tempo conforme suja de lama, então, é vantagem ter tudo no mesmo Substance.
Agora, uma cena grande, que não será vista toda de uma só vez, não vale a pena ter todos os materiais no mesmo Substance.
De qualquer forma, creio que a melhor maneira de fazer o que deseja é mais ou menos assim:
1- Primeiro você exporta do Max cada objeto da cena em FBX com seus devidos IDs.
2- Depois importa no Substance Designer e faz o Bake do Color ID para ter a imagem dos IDs.
3- Dai cria um gráfico para cada material que vai precisar no objeto.
4- No final cria um gráfico pegando os materiais que fez nos outros gráficos e usa o Material Blend com o Color ID para aplicar os materiais no objeto.
5- Quando terminar o primeiro objeto, deleta ele do Substance Designer e importa o próximo, dai faz a mesma coisa usando o mesmo Substance.
6- No final terá um Substance com todos os materiais e também a aplicação deles nos objetos.
Portanto, no 3ds max vai criar um material com este Substance aplicado nos canais, pode fazer quantas cópias quiser do material para aplicar em todos os objetos da cena e só terá que escolher na lista do Substance o material do objeto.
Se tiver qualquer dúvida sobre qualquer ponto é só falar que eu explico melhor.
Eu pesquisei agora algum tutorial para te indicar e encontrei um meio antigo, mas que ainda serve.
Porém, o cara fez da forma bagunçada, criando vários materiais no mesmo gráfico e fazendo o Blend também no mesmo gráfico.
O correto é fazer cada material num gráfico separado como falei, é bem mais prático e limpo.
O link do tutorial é este: https://www.youtube.com/watch?v=yoQB73eof1U
OBS: Vou responder sobre o azulejo na próxima mensagem para não misturar tudo.
Andre Vieira 11/07/2019 20:16 Localização: Campinas - SP - SP Registrado: 03/01/2003 15:03
Sobre os azulejos, se cada um é um objeto diferente e separado, ou seja, não são Elements do mesmo Mesh, então, tanto faz o ID, pois todos serão tratados como ID 1 no 3ds max.
Se quiser pode fazer a randomização do piso no próprio 3ds max, por exemplo:
1- Se criar várias cópias do material do piso e habilitar o Cropping para delimitar apenas uma parte da textura, como mostra a primeira imagem em anexo, terá vários materiais da mesma pedra, mas cada um com um desenho diferente.
Dai terá que aplicar cada um manualmente em pisos diferentes para criar a variação.
2- Se colocar todos os materiais num Multi/Sub-Object e aplicar em todos os pisos, eles vão receber apenas o primeiro material do Multi/Sub-Object, como mostra a segunda imagem em anexo, pois cada um é um objeto separado.
3- Dai terá que aplicar o modificador Material em cada piso e definir o ID que deseja para aplicar um outro material do Multi/Sub-Object, como mostra a terceira imagem em anexo.
É até mais trabalhoso do que aplicar os materiais manualmente.
4- Portanto, é mais fácil anexar todos os pisos no mesmo Mesh, para se tornarem Elements, porque dai pode aplicar o modificador Material By Element.
Assim, basta definir a porcentagem que cada material do Multi/Sub-Object aparece em cada Element do Mesh, como mostra a quarta imagem em anexo.
5- Agora, se deseja criar um Substance para randomizar qualquer formato de piso sem ter os IDs e sem fazer Bake, você precisará fornecer para o sistema pelo menos uma imagem em tons de cinza para ele identificar o padrão do piso, como mostra a quinta imagem em anexo.
Veja como eu fiz, primeiro gerei um padrão de piso em tons de cinza com o Tile Random, então, em vez disso você colocaria no lugar um Node de Imput Bitmap para poder adicionar a imagem que quiser no Substance.
Adicionando a imagem em tons de cinza que mostra o padrão do seu piso, o sistema cria um mapa de Color ID com o Node Gradient, faz um Blend com o rejunte na cor preta para depois poder descartar o rejunte no Pixel Processor e envia para o Pixel Processor.
Veja que também tem um Node Input Bitmap com o nome Imagem para pegar a textura de mármore que quiser, dai passa pelo HSL para corrigir as cores e envia para o Pixel Processor, que vai processar tudo de acordo com o Color ID para cortar os pisos corretamente.
6- Portanto, o segredo está no Pixel Processor.
A função que usei no Pixel Processor para fazer o recorte de acordo com o Color ID está na última imagem em anexo.
Qualquer dúvida que tiver nestes procedimentos é só falar que eu explico melhor o ponto.
Abilio 12/07/2019 16:31 Localização: abilio - AC Registrado: 05/08/2006 10:31
o sistema de composição de texturas do : slate material editor do 3ds max é tão eficiente quanto o Substance designer ?
possui todos os nodes mais usados do Substance designer ?
existe forma de adicionar mais nodes , plugin ou script , no slate material editor do 3ds max ?
e quanto ao Blender ?
tambem da conta ?
Andre Vieira 15/07/2019 19:26 Localização: Campinas - SP - SP Registrado: 03/01/2003 15:03
Não, o Slate do 3ds max não chega nem perto do que é o Substance Designer, nem mesmo usando o editor de OSL.
O Substance Designer é um editor visual de qualquer tipo de Shader, seja para Games, renderização convencional e até MDL, ainda gera arquivos procedurais que podem ser alterados em tempo real durante a execusão de uma aplicação interativa como um Game, não existe nenhum outro programa no mundo que faz o trabalho do Substance Designer, ele é único!
A única forma de adicionar novos mapas no Slate do 3ds max, para edição nativa de materiais, é através de Scripts ou Plug-ins, também daria para criar algumas coisas com o MCG.
Agora, no editor de OSL você pode abrir qualquer código OSL baixado da internet ou escrito por você mesmo.
O 3ds max ainda tem o pouco conhecido e pouco usado ShaderFX, que serve para criar Shaders Real-Time para Games e exibição na Viewport.