Atualmente, estou usando o 3D Perlin Noise para gerar terrenos aleatórios em combinação com os Marching Cubes.
Meu problema parece estar no dimensionamento da função de ruído para obter alturas razoáveis no meu terreno. Se apenas uma oitava for usada, todos os pontos em relação ao ruído serão obviamente interpolados, resultando em dados razoavelmente suaves. No entanto, para obter saliências / cavernas / terrenos irregulares, tenho que usar várias oitavas com amplitudes variadas e / ou escalar os valores resultantes para a minha altura 'máxima' desejada no mapa.
Talvez esteja faltando alguma coisa, mas, usando cubos de marchas com ruído 3D perlin, recebo regularmente pedaços de terreno flutuantes.
Alguma idéia de como eu poderia corrigir isso ou se houver outras funções de ruído que eu possa usar para obter resultados como estou descrevendo? Estou querendo colinas / vales / montanhas / lagos / etc. Não há necessidade de bits flutuantes segregados do restante do mapa. Acredito que esse seja um problema semelhante ao que o Minecraft tem quando tem um terreno que apenas flutua no céu ocasionalmente após a geração.
Obrigado por qualquer ajuda, Mythics
pode ser tarde demais para responder, mas eu estava começando agora com essa coisa de geração de terrenos voxel, com Perlin Noise e encontrei uma maneira de criar o terreno sem essas peças flutuantes. Eu acho que isso pode ajudá-lo. Portanto, para criar o terreno, primeiro gere um mapa de altura do que li os pixels desse mapa de altura. Agora vem a parte interessante, eu li o valor "brilho" (na verdade, é a escala de cinza) de cada pixel naquele mapa de altura e isso me dá a altura para essa parte específica do mapa, e para criar o terreno, presumo que esse mapa de altura seja meu terreno visto de cima, por isso, se o valor da escala de cinza de um pixel (depois de ser ajustado ao meu terreno "maxHeight") nesse mapa de altura for, digamos 30, isso significa que, naquele ponto específico do meu terreno, gerarei apenas 30 voxels no eixo y e isso me dará um terreno sem partes flutuantes. Se você quiser cavernas e assim por diante, poderá aplicar outro ruído no original (sob a superfície) para criar essas cavernas. Espero que funcione para voce.
fonte