Mapa de terreno gerado procedimentalmente. Transições de mistura entre tipos de terreno

10

A pergunta não é a melhor expressão de todos os tempos.

Eu tenho aprendido e prototipado algumas coisas sobre textura e geração de terreno e encontrei algo que talvez você possa me ajudar.

Como funciona: estou gerando processualmente um mapa de altura do terreno. Pode rolar infinitamente em qualquer direção. (imagem 1) Prendo e misturo as cores, dependendo do valor do mapa de altura (imagem 2)

Isso está funcionando muito bem e funciona muito rápido atualmente, afinal de contas é muito simplista no momento.

O que eu preciso encontrar é uma boa maneira de desfocar / distorcer entre as transições de terreno. Como você pode ver atualmente, tem linhas muito estriadas e não parece tão natural assim. Dado que tudo isso é gerado processualmente, obviamente preciso encontrar algo para a mistura que possa ser executada em tempo real. Tentei um pouco de pixel tremendo e parecia ruim. Além disso, o que eu sempre uso deve ser capaz de ser propagado para manter a consistência (embora eu duvide que isso seja um problema, pois provavelmente todos eles serão executados em randoms).

GreyScaleHeightMap ColorHeightMap
Qualquer insight seria muito apreciado. Se eu conseguisse deixar de fora qualquer informação necessária na minha pressa de postar isso, é só me avisar.

Feltope
fonte

Respostas:

14

Quando fiz isso, acabei criando um arquivo gradiente simples (baseado em xml ou imagem, não importa) que predeterminou a cor usada na distância especificada entre as cores primárias de altura (grama x areia, por exemplo). Dessa forma, havia entre estados. O que é ótimo nisso é que você tem total controle sobre as transições.

Suponho que você também possa escrever algo que encontrou a cor da mistura com base na distância da cor primária em altura, através de algum tipo de mistura, mas, não sendo um desenvolvedor além do hobby, ainda não estou familiarizado com essas tecnologias.

Aqui estão alguns gradientes que eu usei. Observe que você pode ajustar as cores com base na altura atual:

Mais gramada / costeira: insira a descrição da imagem aqui

Espectro completo: insira a descrição da imagem aqui

E aqui está como parecia. Não é ruim para o fractal com baixo detalhe ...

insira a descrição da imagem aqui

Kevin Peno
fonte
Isto é perfeito. Não sei por que não pensei em usar um gradiente. Obrigado.
Feltope
Ótimo! Eu estou feliz que eu poderia ajudar: D
Kevin Peno