Script para atribuir Color IDs

O Color ID For Polygons é um novo Script gratuito oferecido pelo artista Savas Cetin para o 3ds max 2014 ou superior, ele permite atribuir Color IDs facilmente nas partes dos objetos para usar nos programas Substance e Quixel Suite.

Ver notícia

Por: Adminin  

Em: 17/01/2018 08:00

O Color ID For Polygons é um novo Script gratuito oferecido pelo artista Savas Cetin para o 3ds max 2014 ou superior, ele permite atribuir Color IDs facilmente nas partes dos objetos para usar nos programas Substance e Quixel Suite.
Andre, boa tarde,

Bacaninha o Script, viu? Sim! Tem grande utilidade para quem usa tanto o Substance Painter como o Quixel Suite.

Um dos maiores dramas para um iniciante no Substance Painter - como eu - é exatamente compreender esta saída do seu trabalho para o SP; ou, melhor: a exportação do seu objeto para o SP que, no momento em que entra lá é visto no TextureSetList. No entanto, ele pode ser visto de duas formas neste painel.

Por exemplo, uma chaleira que você modelou e quer texturizar no SP. Vamos dizer que a chaleira é composta de corpo e fundo, pegador, tampa e bico. Portanto, quatro sub objetos.

Dentro do SP, você pode trabalhar tanto com um tipo de exportanção, determinada por você no Max, que enviará (.obj ou .fbx) um único objeto ou as quatro partes desta chaleira; logo, ou uma única textura ou quatro texturas. O que determinará isso é exatamente você marcar ou não cada um destes sub objetos.

Penei com esta porra, até entender de forma definitiva, através deste link que vou indicar, o artista Glauco Longhi é uma dos mais claros e evidentes exemplos do que significa trabalhar com múltiplas texturas, em vez de uma única. Vantagem? Você pode isolar a textura do mesmo modo que o Isolate Tool no 3ds Max.

https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2017/ENU/3DSMax/files/GUID-FCA01DAD-15D6-4432-A10D-C184C7CB003C-htm.html

Você pode mexer, girar, rotacionar a textura; portanto, permite a visualização completa dela, seja em modo isolado ou composta com todas as outras texturas do seu objeto.

Este é o link da apresentação do Glauco Longhi:

https://www.youtube.com/watch?v=m7fP5bZgZug

Ele mesmo diz que prefere este modo de trabalho. Entretanto, há outros modos de você separar o que você deseja em termos de textura, mesmo que você exporte o seu objeto do Max e ele entre no Substance Painter como uma única textura. É uma questão de gostou ou adequação.

O mais importante. Se você quer a sua textura em partes no Substance Painter, você deve marcar ou separar as partes do seu objeto com os seus respectivos IDs no 3ds Max.

Este Script faz o serviço muito bem feito. Valeu pela dica, Andre.
Abração fraterno,

Marcelo Baglione
Oi Marcelo, tudo bem?

Se você é iniciante no Substance Painter eu sou o que então, semi-iniciante? laughing
Pois pelas conversas que já tivemos eu percebi que você conhece bem o SPainter!

A maior dificuldade que senti foi justamente essa que explicou da divisão dos Sub-Objects em Texture Sets ou a união de tudo num Texture Set só.

Agradeço pelo link do vídeo do Glauco, ele é membro da 3D1 e antigamente participava bastante aqui no fórum, é um cara muito gente boa, vou assistir o vídeo todo com certeza.

Se Deus quiser eu vou estudar firme o Substance Painter este ano, nem que seja apenas para poder produzir Smart Materials para colocar aqui no site.

Abração e tudo de bom.

André Vieira
Andre, boa noite,

Cara, estudei o SP que nem um desgraçado infeliz e... desisti. Tentei o Quixel Suite que é, também, espetacular. Tanto faz com qual dos dois você vai afinar, ambos são espetaculares. Se o cidadão já possui uma fluência acima da média em Photoshop, ele simplesmente vai destruir com o Quixel - é insofismável. Ambos os programas se equiparam, ok?

Mas no final do ano passado, eu voltei, decidido, a compreender esta questão do TextureSetList do SP.

Rapidamente, Andre.

Por exemplo, você modelou algo que tem uma formato de um cubo; portanto, que possui seis faces. Mas você deseja texturizar, no SP, cada uma destas faces de uma maneira distinta. Mas você terá que exportar o seu modelo, um em lowpoly e outro em highpoly. Fiz todos os tipos de combinações, cara, e, pelo "menas" pra "eu", não vi diferença alguma que ambos modelos fossem exportados em .obj ou .fbx. Na minha máquina, no meu PC, não vi diferença alguma. Os próprios mestres e instrutores, divergem nesta questão.

No entanto, se você deseja que este seu trabalho, um cubo todo transado, seja exportado de um modo que apareça no TextureSetLista dividido em seis (6), você tem que determinar um ID para cada face do seu cubo, de modo que esta seis partes aparecem no TextureSetList, entendeu? Muitos instrutores dizem que deve determinar uma cor para cada ID. Olha, dá certo até sem cor; no entanto é bom determinar uma cor para cada parte ou submesh do seu objeto, assim dá mais organização.

Mas você pode enviar o seu objeto como um único mesh, exportar ele assim, e ele aparecerá no TextureSetList com default. Aí você me pergunta... "eu posso separar as partes do meu objeto, mesmo tendo exportado sem determinar IDs? Sim, claro que pode. Há a opção que lhe permitem trabalhar as partes do seu objeto que, dentro do SP, não são mesh, mas texturas. Uma forma é usando o ID Color Map que eu sempre gero no Substance Designer. Todos os outros maps ou bake, gero dentro do SP.

Qual o melhor método, Andre? Ambos são ótimos. Alguns artistas usam textura única; outros, como o Glauco que enviei o link, trabalha com trechos, partes ou texturas separadas. No próprio vídeo, ele diz que prefere trabalhar com este modo. Logo, se o seu cubo possui seis texturas, o bake no SP irá gerar todos os maps para cada uma das texturas, entendeu?

Particularmente, preferi trabalhar e adotar texturas separadas, pois é semelhante, como já disse, ao Isolate do 3ds Max, onde você pode girar, virar e ver a tua textura de todos os ângulos e vistas. O Glauco mostra isso no link, também. Note que quando ele muda uma textura, todos os maps gerados mudar automaticamente para cada uma das texturas, porque o SP gerou, fez um bake para cada uma das seis faces ou seis texturas do seu cubo.

E olha que você ainda pode separar e isolar seu trabalho de texturização através de faces (polígonos). Portanto, você têm três opções de isolar a sua textura, independente do seu cubo aparecer como uma única textura ou seis texturas no TexturSetList.

Me desculpe se ficou um pouco confuso, mas confuso, mesmo é você explicar isso pro gringo num fórum é #!@%*#!

Não é complicado, não, viu? A sua grande vantagem é que você já trabalha e compreende muito bem o Substance Designer, Andre.
Abração fraterno,

Marcelo Baglione
Oi Marcelo, tudo bem?

Eu prefiro aprender o Substance Painter porque já conheço bem o Substance Designer, então, seria a combinação perfeita, já que poderei criar filtros, generators, materiais procedurais, brushes e tudo mais para personalizar o Painter como quiser.

Agradeço sinceramente pela aula de Substance Painter que me concedeu, não foi confuso de forma alguma, entendi perfeitamente.

Eu instalei o Substance Painter para testar e brinquei apenas duas ou três vezes com ele, mas entendi o que você explicou sobre os IDs e o Bake de Color ID para poder trabalhar separadamente com as texturas, pois no Substance Designer também uso o Bake de Color ID quando quero juntar materiais numa única textura e não preciso importar o objeto com IDs separados, então, o SPainter funciona da mesma forma e a separação por IDs é igual usamos no próprio 3ds max.

Porém, ficou somente uma dúvida, posso importar o objeto com IDs para trabalhar com os Texture Sets separados e no final usar o Color ID das faces ou do Bake para unir tudo numa única textura?

Porque a exportação das texturas separadas é bom para quem renderiza off-line, pois vai usar estas texturas no material do renderizador, mas para aplicações interativas Real-Time é melhor estar tudo na mesma textura, pois economiza memória da placa de vídeo, então, dependendo da necessidade vai exportar de um jeito ou de outro, dá para fazer isso?

Obrigado novamente.

Abração e tudo de bom.

André Vieira
Andre, boa noite,

Fico contente que você tenha compreendido, pois us gringo não compreendem nem com reza forte esta dúvida que tive que sanar solitariamente.

Vamos lá...

Estou anexando duas imagens. A primeira, mostra o objeto, a Lata de Lixo através do Layer Explorer, onde você pode ver o objeto dividido em nove partes ou um mesh composto de nove subobjetos, onde há uma lista destes nove subobjetos  certo. Acima, neste Layer, você vê nove subobjetos em highpoly e, abaixo em lowpoly. Nada de complicado, pois você só tem que exportar, selecionando todo o objeto, em .fbx.

Observer que quando ele é aberto no Substance Painter, no TextureSetList, lá estão as nove partes da Lata de Lixo que agora são texturas.

Mais um detalhe bastante importante que não falei.

Na guia Bake Textures do SP, o ID Map color gerado no Substance Designer pode ser utlizado, sem prejuízo, tanto para texturas separadas no TextureSetList como para uma única textura neste mesmo painel. Todas as texturas restantes são geradas no bake do SP. Ali, sim, tem algumas configurações básicas - muitas divergentes entres os mestres -, mas que você mesmo terá que testar. Mas te adianto que não é nenhum bicho com ou sem cabeça, Andre.

Na primeira imagem, eu determinei uma cor e um ID para cada parte da Lata de Lixo

Na segunda imagem, lá estão as texturas, devidamente nominadas do mesmo modo que foram criadas no Max.

(Continua)
Abração fraterno,

Marcelo Baglione
Andre, boa noite,

Dando continuidade, agora te mostro a mesma Lata de Lixo de outra forma.

A imagem do 3ds Max diz tudo por si só, Andre. O slot antigo, Multi/Sub-Object, com seus IDs color lá  estão, certo? Não tem mistério, nem pulo de gato algum. Eu simplesmente peguei um slot vazio e lancei no objeto selecionado; inibindo, assim, todas os seus atributos anteriores.

Um detalhe...

Se você observar os trabalhos de uma forma geral é isso que é feito - sem tirar nem pôr. No entanto, você sempre verá, em casos de exportação do Max para o SP com textura única no TextureSetList a nominação de "default?" Por quê? Ora, pelo simples fato que o slot "não foi nominado lá, dentro do 3ds Max". Portanto, uma conclusão parcial que você pode ir observando e adotando é que muitos erros que surjem dos modelos que viram texturas no SP, já vem de forma errônia da própria configuração que você, inadvertidamente, configurou no Max. Lhe mostro, por isso, duas imagens a seguir, Andre.

O slot separado, já incorporado no modelo - sem estar atachado, pois é desnecessário, basta você jogar o slot vazio no modelo. Mas por razões de ordem e método, custa nada você ir lá no Material Editor do Max e... "nominar o slot", assim você evita esta coisa - que acho feia, chata - de aparecer a textura com o nome padrão de "default". Como eu dei o nome do slot de "Textura Única", veja que na segunda imagem, o TextureSetList está com uma únca textura, porém não com o nome de default, mas com o nome que dei lá no Max: Textura Única.

Andre, espero que até aqui, com imagens, fique mais claro este processo que mostra a diferença de um modo para o outro ou um TextureSetList com várias texturas ou uma única textura.

Volto a repetir que o vídeo demo do Glauco nesta feira é exemplar e o melhor que há à compreensão disso, num trabalho mais complexo e finalizado.
Abração fraterno,

Marcelo Baglione

P.S.: Quanto a sua pergunta de exportar a textura do SP como uma única textura, nunca tinha pensado. Sua pergunta é pertiente a uma pessoa que possui grande experiência e expertise que não é o meu caso - ainda, rs.
Andre, boa noite,

Acho que não me expressei bem no início. Como você já sabe manipular o Substance Designer, você tende a ter uma relação de aprendizado e prática muito avançada no SP. É isso, sim! Você vai gerar, criar, de forma personalizada, brushes, material, smart material, mask e tudo mais.

O meu problema com o SD é que ele me assustou. Quando vejo aquela forma de criação em forma de organograma me sinto super distante e acho muito complexos - são nodes, certo? Me corrija se estiver errado.

Mas o profissional que domina o SD terá um oceano infinito para mais criação no SP. Logo, uma ampla independência, pois não vai precisar buscar em outras fontes - somente o necessário. Fará e criará o que quiser e de forma adequada às necessidade do seu trabalho.

Eu me assusto e não estudo nada em que o mestre usa esta forma de organização e criação, seja do que for. É meu lado imbecil e que tem um certo horror de lógica - que não é o seu caso.
Abração fraterno,

Marcelo Baglione
Andre, boa noite,

Já que o assunto é pertinente, gostaria de fazer uma solicitação. Não faça isso agora, somente quando você puder, valeu?

Tanto o Substance Painter como o Quixel Suite são excelentes programas para texturização. Ambos, em seu bake, usam praticamente, geram, portanto, o mesmo acervo de maps.

O Baker list do Substance Painter, a seguir:

Normal
World Space Normals
ID
Ambient Occlusion
Curvature
Position
Thickness

O Substance Designer que você conhece muitíssimo bem, tem lá o seu "Bake model information" que nos leva à aba "Bakers", onde vemos:

Ambiente Occlusion
Ambiente Occlusion Map from Mesh
Bent Normals Map from Mesh
Color Map from Mesh
Convert UV to SVG
Curvature
Curvature Map from Mesh
Height Map from Mesh
Normal Map from Mesh
Opacity Mak from Mesh
Position
Position Map from Mesh
Thickness Map from Mesh
Transferred Texture from Mesh
World Sapce Direction
World Space Normal

É claro que sempre que você faz uso, no SP, de algum Material, mesclando qualquer Smart Material, de acordo com o tipo escolhido, um ou vários dos maps gerados serão incorporados, automaticamente, no seu layer; logo, no seu trabalho.

Minha questão é a seguinte, Andre: Eu queria realmente compreender, de forma didática, cada um destes maps, de modo que eu não apenas escolha com uma finalidade, mas que eu saiba o quê e para quê ele é, entende? Para isso, estou anexando duas imagens de um livro do 3ds Max que você obviamente deve conhecer de trás para frente. Enfim, eu quero somente conhecer: quero saber. Espero que a sugestão e a dúvida tenham ficado claras.
Grato pela atenção!
Abração fraterno,

Marcelo Baglione
Oi Marcelo, tudo bem?

Nossa, eu agradeço sinceramente pela aula detalhada que me passou, obrigado mesmo.

Entendi tudo perfeitamente e deu até vontade de brincar um pouco do Substance Painter.

Pelo que você explicou, o mais importante é sempre adicionar nome nos materiais que criar, igual quando vai exportar para o SDesigner, Unreal ou Unity, é mais importante do que o nome do Mesh, né?

Sobre a questão de exportar as texturas separadas como apenas uma, pode deixar que agora com a sua explicação ficou fácil para eu mesmo fazer os testes, assim que descobrir eu te conto, mas é praticamente certeza que ele aceita fazer isso.

Sobre o seu bloqueio com o SDesigner, como disse nos outros tópicos que comentou isso, eu gostaria muito te ajudar a superar isso.

Vamos fazer um estudo juntos sobre o SD aqui no fórum mesmo?
Se topar eu abro uma seção de estudo do SD e vou postando dicas, exemplos e tudo mais, bem do início.

Não fique preocupado com a lógica porque é super simples, inclusive, se ligar as coisas sem lógica alguma também vai criar padrões diferentes da mesma forma que criaria seguindo uma determinada lógica, pois não tem certo ou errado, são apenas ligações entre recursos similares aos Layers do Photoshop, mas em vez de serem exibidos numa lista igual os Layers, estão naqueles quadradinhos que chamamos de Nodes.

Obrigado novamente pela aula de SPainter.

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

Total de membros registrados: 110970

Últimos membros registrados: ricardotralescki, ANA ARAUJO, Matieu, dennykessons, jaissemelo, mirellasarmento, Dani1610, stefanyclaricy14.

Usuário(s) on-line na última hora: 358, sendo 6 membro(s) e 352 visitante(s).

Membro(s) on-line na última hora: alej0, Gabriel, Matheus Gabriel, Marcelo Baglione, Paola, Lucas.

Legenda: Administrador, Especial, Moderador, Parceiro .

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