2

我制作了一个高度图生成器,它使用梯度/值噪声来生成地形。问题是,高度图太混乱了,看起来不真实。
这就是我所说的:

在此处输入图像描述

这是没有颜色的地图:
在此处输入图像描述

我使用了 257x257 的块网格和 17x17 的渐变。可以看到,岛屿太多了,海洋中间还有一些随机的小海滩岛屿。
此外,还有很多锋利的边缘,尤其是对于山地地形(深灰色)。
我想要的是一个更平滑且不那么混乱的地形,例如一个大岛等等。我怎么做?

4

3 回答 3

1

查看Amit 介绍一些地图生成技术的这篇文章。他甚至在网上有示例代码。

在文章中,他将 perlin 噪声作为他的地形生成器的随机化参数,但没有将其用作整个生成器。结果看起来真的很好。(我会发布结果的图片,但我还不知道版权问题。)

当您参与其中时,Amit 多年来一直在编写和策划有关游戏编程的事情。这里这里是他关于这个主题的更多文章。我希望这不会成为你的时间浪费,我当然在他的博客上花了很多时间。:)

(PS。我更喜欢单工噪声而不是 perlin 噪声。相同的发明者,更简单的实现,对我来说看起来更好。)

于 2014-07-11T22:16:44.547 回答
1

在游戏中,最常见的纹理和高度图噪声生成器是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如果您想了解有关地形生成的更多信息。

于 2014-07-11T21:02:24.517 回答
0

据我所知,您的样本可能缺少八度音阶和插值。

根据您使用的实现,您可以使用八度音阶数、频率、持久性/间隙、各种插值技术等...

尝试播放/混合湍流(向高度图添加花哨功能的简单方法)。许多单纯形噪声(Ken Perlin 也是,但在更多维度上可以更好/更快地缩放)实现处理非常完整的参数集供您在生成高度图时使用。

于 2014-07-14T10:11:43.410 回答