2010-07-18 36 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

假设您正在静态生成地图文件而不是在飞行中,我认为您最简单的解决方案是以您需要的最高分辨率生成整个地图。实际上,您将缩小并返回到该粒度级别。它在计算上更加昂贵,并且会产生更大的地图文件。根据您对查看器的实施情况,您可以使用一个地图文件或为较大的视图构建一些解除分辨率的文件。