Boa noite pessoal! eu estou usando vibecoding para resolver um problema em um script que estou desenvolvendo. Esse script basicamente serve para espalhar 3 tipos de texturas em um mapa e criar automaticamente as interseções entre elas.
O funcionamento é mais ou menos assim: Eu pinto a malha usando Vertex Paint, e o script interpreta essas cores para aplicar automaticamente os materiais e seus respectivos UV maps.
Explicando de forma simples parece fácil… mas o problema está justamente nas interseções entre os materiais. Vamos imaginar apenas dois materiais:
⚪ = Pedra 🟢 = Água
Quando esses dois materiais se encontram, precisamos de um terceiro material que represente a transição:
🟡 = Mistura Água/Pedra
Mas isso ainda não resolve tudo. Nos cantos também precisamos de materiais específicos:
🔵 = Canto com predominância de pedra 🟣 = Canto com predominância de água
Exemplo simplificado:
⚪⚪⚪⚪⚪⚪ ⚪🔵🟡🔵⚪⚪ ⚪🟡🟢🟡⚪⚪ ⚪🟡🟢🟣🟡🔵 ⚪🟡🟢🟢🟢🟡 ⚪🔵🟡🟡🟡🔵
Nesse pequeno exemplo já dá para perceber que, para resolver apenas dois materiais, precisamos de vários tipos diferentes de transição.
E ainda tem outro detalhe importante: essas interseções precisam permitir rotação e espelhamento do UV, para que a direção da transição fique correta no mapa.
Agora imagine isso com 3 materiais diferentes…
Pois é exatamente isso que estou fazendo 😅
Com três materiais, chegamos a uma base de 21 materiais diferentes. Quando somamos rotações e espelhamentos do UV, isso gera cerca de 81 possibilidades.
Então eu precisei:
🔹 Mapear todas essas combinações 🔹 Testar rotações e espelhamentos 🔹 Remover padrões duplicados 🔹 Criar um sistema que distribui tudo usando Vertex Color 🔹 E ainda desenvolver um sistema para gerar automaticamente essas 21 texturas base
Ou seja… foi um verdadeiro exercício de queimar neurônios
Boa noite pessoal!
eu estou usando vibecoding para resolver um problema em um script que estou desenvolvendo.
Esse script basicamente serve para espalhar 3 tipos de texturas em um mapa e criar automaticamente as interseções entre elas.
O funcionamento é mais ou menos assim:
Eu pinto a malha usando Vertex Paint, e o script interpreta essas cores para aplicar automaticamente os materiais e seus respectivos UV maps.
Explicando de forma simples parece fácil… mas o problema está justamente nas interseções entre os materiais.
Vamos imaginar apenas dois materiais:
⚪ = Pedra
🟢 = Água
Quando esses dois materiais se encontram, precisamos de um terceiro material que represente a transição:
🟡 = Mistura Água/Pedra
Mas isso ainda não resolve tudo.
Nos cantos também precisamos de materiais específicos:
🔵 = Canto com predominância de pedra
🟣 = Canto com predominância de água
Exemplo simplificado:
⚪⚪⚪⚪⚪⚪
⚪🔵🟡🔵⚪⚪
⚪🟡🟢🟡⚪⚪
⚪🟡🟢🟣🟡🔵
⚪🟡🟢🟢🟢🟡
⚪🔵🟡🟡🟡🔵
Nesse pequeno exemplo já dá para perceber que, para resolver apenas dois materiais, precisamos de vários tipos diferentes de transição.
E ainda tem outro detalhe importante:
essas interseções precisam permitir rotação e espelhamento do UV, para que a direção da transição fique correta no mapa.
Agora imagine isso com 3 materiais diferentes…
Pois é exatamente isso que estou fazendo 😅
Com três materiais, chegamos a uma base de 21 materiais diferentes.
Quando somamos rotações e espelhamentos do UV, isso gera cerca de 81 possibilidades.
Então eu precisei:
🔹 Mapear todas essas combinações
🔹 Testar rotações e espelhamentos
🔹 Remover padrões duplicados
🔹 Criar um sistema que distribui tudo usando Vertex Color
🔹 E ainda desenvolver um sistema para gerar automaticamente essas 21 texturas base
Ou seja… foi um verdadeiro exercício de queimar neurônios
youtube video - Script Autotiling
Obrigado a todos que estão acompanhando o projeto.
Boa noite, e fiquem com Deus