我制作了一个高度图生成器,它使用梯度/值噪声来生成地形。问题是,高度图太混乱了,看起来不真实。
这就是我所说的:
这是没有颜色的地图:
我使用了 257x257 的块网格和 17x17 的渐变。可以看到,岛屿太多了,海洋中间还有一些随机的小海滩岛屿。
此外,还有很多锋利的边缘,尤其是对于山地地形(深灰色)。
我想要的是一个更平滑且不那么混乱的地形,例如一个大岛等等。我怎么做?
在游戏中,最常见的纹理和高度图噪声生成器是Perlin Noise。从您的回答中我不知道您是否真的想创建噪声发生器或在您的应用程序中使用它。如果您正在寻找创建自己的 Perlin 噪声生成器,这将是一个很好的起点。但是,我建议使用https://pypi.python.org/pypi/noise/
通过 pip 提供的噪声 () 库:
pip install noise
然后,您可以使用该noise.snoise2(x,y,a,b,c)
函数并使用不同的参数。
我建议阅读这篇文章:http://simblob.blogspot.ch/2010/01/simple-map-generation.html
如果您想了解有关地形生成的更多信息。
据我所知,您的样本可能缺少八度音阶和插值。
根据您使用的实现,您可以使用八度音阶数、频率、持久性/间隙、各种插值技术等...
尝试播放/混合湍流(向高度图添加花哨功能的简单方法)。许多单纯形噪声(Ken Perlin 也是,但在更多维度上可以更好/更快地缩放)实现处理非常完整的参数集供您在生成高度图时使用。