Editor de terreno Voxel heightmap

7

Recentemente, experimentei um mecanismo 3D simples baseado em Voxel (pense em Minecraft) que usa mapas de altura para definir o terreno no seguinte formato:

http://en.wikipedia.org/wiki/Heightmap

Alguém conhece o melhor software para produzir esse tipo de mapa? De preferência com a capacidade de definir um mapa de textura também. O terrogênio e o picogênio são as únicas alternativas reais?

RSH1
fonte

Respostas:

2

Rolar o seu próprio é bom, desde então você pode apenas criar mapas, sem precisar fornecer uma imagem ou, pelo menos, torná-la opcional. Uso o ruído Perlin no meu jogo voxel para geração de terrenos. Funciona muito bem, mas é bastante simples comparado aos mapas que o Minecraft produz. Imagino que o Notch faça muito mais do que apenas o ruído Perlin.

No meu jogo, uso o ruído 2D Perlin para gerar o fluxo básico da paisagem. Em seguida, faça uma escultura com outra grade de ruído 2D Perlin para criar uma aparência mais robusta. Então eu esculpo túneis usando um caminho errante pelo terreno.

O ruído Perlin é um caminho bastante padrão:

/programming/4753055/perlin-noise-generation-for-terrain

Então esse cara, Paul Martz, tem um aplicativo que faz esses mapas e o código-fonte para isso.

http://www.gameprogrammer.com/fractal.html

Também há um bom artigo no Game Developer que trata da geração processual de terrenos voxel. Ele entra em mapas de altura 2D e ruído 3D para gerar mapas.

Existe um artigo na edição de abril na página 21 (Criador de mundos). Isso é bom, mas parece que ele tem acesso pago se você ainda não possui uma assinatura.

MichaelHouse
fonte
2

World Machine

http://www.world-machine.com/

O World Machine possui uma versão gratuita não comercial, que possui apenas algumas limitações em comparação com a versão comercial. Eu não posso falar o suficiente sobre este software.

Produz um mapa de altura e um mapa de textura proceduralmente.

Usei-o para criar a ilha e o mapa de textura para este techdemo

Demonstração de tecnologia da USC GamePipe Island "Paradise"

Esqueça o que você sabe sobre a edição de terrenos. Ao contrário de muitos outros editores de terreno que funcionam como programas de pintura, a World Machine opera em um nível processual. Um arquivo mundial da World Machine não é o terreno, mas as etapas que criam o terreno. Essa é a fonte de seu poder e de sua complexidade.

Ao trabalhar na World Machine, sua função é determinar a aparência e as características gerais do terreno e permitir que os geradores e efeitos criem e detalhem a aparência do seu mundo. Essa maneira de trabalhar e pensar em um nível mais alto leva algum tempo para se acostumar, mas as recompensas são enormes: você pode criar terrenos impressionantes com relativamente pouco trabalho e, depois de criar um terreno que gosta, pode usar o mesmo arquivo mundial com diferentes "sementes" aleatórias para produzir um terreno diferente com a mesma sensação.

David Young
fonte
2

Estou um pouco confuso sobre o que você está tentando fazer. Se você representar seu terreno como um único mapa de altura 2D, não poderá formar o mesmo tipo de terreno de minecraft, pois é um terreno voxel 3D (ou seja, colocação arbitrária de cubos em qualquer lugar em 3D).

Um benefício dos voxels é que você pode ter saliências, túneis e blocos flutuantes, o que é impossível com um mapa de altura como você descreve.

Em termos de minecraft, uma única textura 2D só pode fornecer informações sobre uma única camada de blocos.

Se você realmente deseja criar um mapa de altura 2D, o Vue possui excelentes ferramentas para isso. (Embora seja bastante caro.)

Se você deseja gerar um terreno 3D interessante do zero, considere este artigo da GPU Gems, frequentemente citado: Gerando terrenos processuais complexos usando a GPU e simplesmente ignore todas as partes difíceis de gerar uma malha a partir dos voxels e use o método de geração de voxel em si (apenas uma combinação de funções trigonométricas).

As cores da textura podem ser geradas com base na inclinação e altura.

Olhovsky
fonte
11
Incorreta. Um único mapa de altura 2D possui 3 dimensões de informação, cada pixel possui um X, um Y e uma cor. Por exemplo, quando a cor é branca, a altura dessa área é 0, quando a cor é preta, a altura é o máximo do mapa, em todos os lugares há uma altura diferente.
MichaelHouse
2
Eu não disse que um mapa de altura não possui três informações. Leia minha resposta novamente. Eu disse que tudo que você pode representar com um mapa de altura é uma única camada de blocos dispostos em 3D. Para ter 10 camadas de blocos, você precisaria de 10 mapas de altura. É por isso que jogos como minecraft não usam mapas de altura para representar os dados.
Olhovsky
Você pode ter um olhar para o meu próprio terreno processual aqui se você quer ser convencido de que eu não estou apenas fazendo as coisas: olhovsky.com/category/dbp2011
Olhovsky
11
Uma textura 3D contém 4 dimensões de informação, uma posição no espaço 3D E uma cor.
Michaelhouse
11
Você não perde os benefícios dos voxels. Claro, você não está utilizando todos os benefícios (ao usar um único mapa de altura), mas não está perdendo nenhum. Claramente, os mapas de altura não são a ÚNICA resposta, são necessárias mais deformações, esculturas em túneis etc.
Michaelhouse