0

我目前正在为游戏编写程序地形生成器。为此,我将我的世界划分为大小相等的块,并在玩家漫步时一个接一个地生成它们。到目前为止,没有什么特别的。

现在,我特别不希望世界是持久的,即如果一个块被卸载(可能是因为玩家移动得太远)然后再次加载,它不应该和以前一样。

据我了解,将 3D Simplex Noise 视为 Marching Cubes 的密度函数输入等隐式方法不适合我的问题。那是因为我需要为生成器重新设定种子以获得空间中同一点的不同返回值,从而导致块边界上的不连续性。

我还研究了中点位移/钻石平方。通过使用来自相邻块边界的值播种每个块的高度图并随机化附近没有任何其他块的块角,我能够生成显示所需行为的可平铺地形。不过,结果看起来相当乏味。具体来说,由于这种方法依赖于高度图,它没有悬垂等。此外,即使使用角点随机化,地形特征也往往局限于小区域,即没有多块山丘或类似的地标。

现在我想知道是否还有其他我还没有听说过/想过的方法。非常感谢任何帮助!:)

干杯!

4

1 回答 1

2

Post process!

After you do the heightmaps, run back through adding features.

This is how Minecraft does it to get the various caverns and cliff overhangs.

于 2014-09-01T20:42:40.717 回答