2010-07-18 28 views
11

J'ai écrit ma propre implémentation de Perlin Noise et ça marche bien. Je peux «zoomer» en avant et en arrière en changeant la fréquence, mais quand je zoome, le bruit devient plus lisse et plus lisse.Perlin Niveau de bruit. Comment zoomer sur un paysage?

Supposons que j'ai un paysage qui affiche un continent. Je veux zoomer jusqu'à une zone de taille de la ville (ou plus proche), mais j'ai toujours des détails. Je pense que j'ai besoin de re-générer le paysage au plus près des détails mais je ne suis pas sûr s'il y a des implémentations qui peuvent aider avec ça?

Diminué, je vois le continent et les océans, mais je veux avoir de grandes régions représentées dans de petites zones.

Voici un exemple du problème que je vais avoir (niveau Continent):

alt text http://www.blind-games.com/highlevelnoise.jpg

zoomé:

alt text http://www.blind-games.com/closeinnoise.jpg

Comment puis-je obtenir encore riche en détails lors d'un zoom dans une zone sur la carte? Des exemples de techniques impliquées?

Répondre

4

Vous devez générer du bruit à des fréquences successivement plus élevées pour éviter le lissage. Essayez pour une explication plus claire de la façon de manipuler la fréquence de bruit. Les octaves s'accordent naturellement avec une implémentation de niveau de détail (LOD), ce qui signifie que vous devez générer plus de détails lorsque vous vous en rapprochez. Sachez qu'il y a des inconvénients à la génération de terrain à la volée, comme compliquer la génération de caractéristiques comme les rivières et les routes, de sorte que vous pouvez vous retrouver avec une pré-génération de terrain à un niveau de détail minimum fixe (par exemple), puis à la volée génération de fonctionnalités plus détaillées.

Je vous recommande également de regarder le bruit Simplex qui a un temps de calcul plus faible (voir https://en.wikipedia.org/wiki/Simplex_noise pour plus de détails).

3

En supposant que vous générez les fichiers de carte statiquement plutôt que de voler à la volée, je pense que votre solution la plus simple est de générer la carte entière avec la résolution la plus élevée dont vous avez besoin. En fait, vous effectuez un zoom arrière et revenez à ce niveau de granularité. Il est plus coûteux en termes de calcul et produira des fichiers cartographiques plus volumineux. En fonction de votre implémentation pour le visualiseur, vous pouvez utiliser un seul fichier map ou générer des fichiers résolus pour la vue agrandie.