Como gerar texturas hexagonais sem costura


6

Estou fazendo um jogo tático (estilo X-Com / Fallout) por diversão. Decidi usar um mapa hexagonal, mas estou tendo um problema gráfico.

Minha exibição atual do mapa é semelhante ao HUD, com apenas a borda das células do mapa exibida, sem nenhuma textura. É simples e permite a exibição de diferentes tipos de informações variando a cor da borda. Por exemplo, o "modo de exibição de perigo" exibe as bordas com uma cor que vai do verde (nenhum dano possível) ao vermelho (probabilidade de dano> 90%).

Agora, é um pouco difícil diferenciar o tipo de peça em que o jogador está. Eu poderia colocar uma cor lisa (verde é grama, azul pálido é água ...), mas isso vai limitar as possibilidades. Assim, gostaria de exibir uma textura nos meus ladrilhos. Como os mapas são gerados, não posso usar uma imagem para todo o mapa com o HUD terminado.

Então, minha pergunta é: alguém sabe como gerar as texturas hexagonais sem costura (algo ou plugin)?


11
O design do site inspira tais questões: D
Oleh Prypin

Respostas:


1

Você não pode simplesmente fazer uma projeção plana de uma textura regular de ladrilhos nos ladrilhos e ter arestas duras onde seus tipos de ladrilhos mudam? Assim, em seus hexágonos que são "grama", apenas mapeie seus UVs no "espaço do mapa" para uma textura de grama repetida.


eu não sabia como mapear a textura da grama em um hexágono e estupidamente rejeitei a solução. Depois de pensar um pouco, descobri como fazer uma faixa triangular com (acho) um bom mapeamento UV. Vai tentar esta noite. Obrigado
PATRY Guillaume

Eu ainda tenho algumas peculiaridades no meu hexágono mapeado, mas funciona. obrigado novamente
PATRY Guillaume

@ PATRY Eu sugiro fortemente Cocos2d. Eles me salvaram uma tonelada de trabalho para desenvolvedores.
Stephen Furlani

1

Pegue uma textura comum e corte-a para fazer seus azulejos hexagonais.

Para esclarecer: Pegue uma textura perfeita quadrada. Use bits apropriados para criar seus hexágonos. Se você selecionar suas peças adequadamente, obterá uma textura perfeita em seus hexágonos. Observe que cada hexágono obtém uma parte diferente da textura subjacente até o ponto em que o padrão se repete.


mas então eles não serão seamles, não? (que é uma das soluções i utilizada no final, mas funcionou bem, se os i adicionado bondaries dos hexágonos)
PATRY Guillaume

argh. eu estava relendo minha antiga pergunta quando me ocorreu. a parte importante que eu perdi foi "Observe que cada hexágono recebe uma parte diferente da textura subjacente até o ponto em que o padrão se repete". ! usando uma textura quadrada duplicada várias vezes e mapeando de forma diferente para hexágonos pares e ímpares, eu deveria ter uma solução funcional. obrigado
PATRY Guillaume
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.