我已经写了自己的佩林噪声实现,它运作良好。通过改变频率,我可以“缩放”进出,但是当我放大噪音时,噪音更平滑和更顺畅。

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

缩小了,我看到了大陆和海洋,但我想在小区域中有大区域。

这是我拥有的问题的一个例子(大陆级别):


(源: blind-games.com

放大:


(源: blind-games.com

如何在放大地图上的区域时仍然可以获得丰富的细节?涉及技术的任何示例?

有帮助吗?

解决方案

您需要在连续更高频率下使用噪声生成,以避免平滑度。尝试 http://www.arendpeter.com/perlin_noise.html 用于更清晰的解释操纵噪声频率。八度高率自然地适合一定程度的细节(LOD)实现,只要您支持飞行,即表示您只需要在靠近它时产生更多细节。请注意,在飞行的地形上绘制返回,例如使河流和道路这样的功能复杂化,因此您可能会在固定的最小细节水平(例如64公里网格方形)之前),然后在飞行产生更详细的功能。

我还建议看看计算开销的单调噪音(见 https:// en .wikipedia.org / wiki / simplex_noise 更多详情)。

其他提示

Assuming that you're generating the map files statically rather than on the fly I think your simplest solution is to generate the entire map at the highest resolution you require. In effect you're then zooming out and back in to that level of granularity. It's more computationally expensive and will yield larger map files. Depending upon your implementation for the viewer you can either use one single map file or build some de-resolutioned files for the bigger view.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top