我已经编写了自己的 Perlin Noise 实现,并且运行良好。我可以通过改变频率来“放大”和缩小,但是当我放大时,噪音变得越来越平滑。

假设我有一个显示大陆的景观。我想放大到一个城市大小的区域(或更近),但仍然有细节。我想我需要在更近的细节上重新生成景观,但我不确定是否有任何实现可以帮助解决这个问题?

缩小后,我看到了大陆和海洋,但我希望在小区域中代表大区域。

这是我遇到的问题的示例(大陆级别):

landscape - 柏林噪声细节级别。如何放大风景?-LMLPHP
(来源:blind-games.com)

放大:

landscape - 柏林噪声细节级别。如何放大风景?-LMLPHP
(来源:blind-games.com)

放大 map 上的某个区域时,如何仍能获得丰富的细节?任何涉及技术的例子?

最佳答案

您需要使用连续更高频率的噪声来生成以避免平滑。尝试 http://www.arendpeter.com/Perlin_Noise.html 以更清晰地解释如何操纵噪声频率。 Octaves 自然地与细节级别 (LOD) 实现结合在一起,只要您支持动态生成,这意味着您只需在靠近它时生成更多细节。请注意,动态生成地形有一些缺点,例如使河流和道路等特征的生成复杂化,因此您最终可能会预先生成固定的最低细节级别(例如 64 公里的方格) ),然后即时生成更详细的特征。

我还建议查看计算开销较低的 Simplex 噪声(有关更多详细信息,请参阅 https://en.wikipedia.org/wiki/Simplex_noise)。

关于landscape - 柏林噪声细节级别。如何放大风景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3273880/

10-12 21:00