2010-07-18 72 views
11

我已經寫了我自己的Perlin噪聲實現,它運行良好。我可以通過改變頻率來放大和縮小,但是當我放大時,噪音會變得更加平滑和平滑。佩林噪音詳細程度。如何放大景觀?

假設我有一個顯示大陸的景觀。我想放大到一個城市大小的區域(或更近),但仍然有細節。我想我需要在更近的細節上重新生成景觀,但我不確定是否有任何實現可以幫助實現這一目標?

縮小,我看到了大陸和海洋,但我想要在大面積的小地區代表。

這是我遇到的問題(大陸級別)的例子:變焦時

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

如何仍然可以得到豐富的細節:

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

放大進入地圖上的某個區域?任何涉及技術的例子?

回答

4

您需要在連續較高的頻率下使用噪聲來生成以避免平滑。嘗試可以更清楚地瞭解如何操作噪聲頻率。八度自然與細節層次(LOD)實現相結合,只要您支持實時生成,意味着您只需在靠近它時生成更多細節。請注意,在地形上有一些缺點,比如像河流和道路這樣的特徵的產生複雜化,所以最終可能會將地形的前一代產生到固定的最小細節水平(例如,64公里的網格),然後即時生成更詳細的功能。

我還建議查看單純噪聲,它具有較低的計算開銷(有關更多詳細信息,請參閱https://en.wikipedia.org/wiki/Simplex_noise)。

3

假設您正在靜態生成地圖文件而不是在飛行中,我認爲您最簡單的解決方案是以您需要的最高分辨率生成整個地圖。實際上,您將縮小並返回到該粒度級別。它在計算上更加昂貴,並且會產生更大的地圖文件。根據您對查看器的實施情況,您可以使用一個地圖文件或爲較大的視圖構建一些解除分辨率的文件。