Question

J'ai réussi à mettre en œuvre l'algorithme Marching Cubes en C #. Jusqu'à maintenant, je l'ai essayé l'algorithme de rendre une sphère. C'est facile parce que la fonction de densité n'est pas très complexe à code.

Mais maintenant, je veux obtenir l'algorithme d'aller plus loin et de rendre des terrains intéressants pour les jeux. Donc, je aurais besoin des fonctions appropriées de densité pour cette tâche. La première chose qui me vient à la tête est un bruit de Perlin jaugée. C'est ok, mais je suis à la recherche d'un terrain sans formes convexes, je veux dire, pas des grottes et des géométries similaires pour le moment.

Ok, je sais que pour cette simple carte de hauteur peut faire le travail, mais je veux un terrain généré voxel. Quel type de fonction de densité o pseudocode Aurais-je besoin de les mettre en œuvre?

Était-ce utile?

La solution

Vous pouvez facilement convertir un heightmap en terrain voxel. Chaque pixel de votre heightmap correspond à une colonne de voxels dans votre monde voxel. Pour un pixel donné dans la heightmap lire la hauteur. Puis itérateur sur chaque voxel dans la colonne correspondante et réglez-le sur « solide » si elle est inférieure à la hauteur de votre référence ou « vide » si elle est plus que votre taille de référence.

Voici quelques utilisant la bibliothèque Polyvox de.

scroll top