【问题标题】:Alternatives to diamond-square for incremental procedural terrain generation?用于增量程序地形生成的菱形正方形的替代品?
【发布时间】:2014-08-26 23:41:07
【问题描述】:

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

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

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

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

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

干杯!

【问题讨论】:

    标签: fractals procedural-generation heightmap marching-cubes


    【解决方案1】:

    后期处理!

    完成高度图后,通过添加功能返回。

    这就是 Minecraft 获取各种洞穴和悬崖峭壁的方式。

    【讨论】:

    • 这实际上是我现在正在做的,以平滑 Diamond-Square 算法产生的高度场。我想我应该对其他应用程序进行更多研究。
    • @Zultar 如果您认为此答案满足问题,请将其标记为答案:)
    • 嗯...我很确定 Minecraft 使用噪声湍流来创建悬崖和悬垂物。将扭曲的 x、y 和 z 坐标输入到您的高度图函数中会创建非常漂亮的高度图式地形,偶尔会出现悬垂和悬崖。
    • 这很好,湍流算法可以让你在第一遍就获得这些特征。
    猜你喜欢
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2015-07-18
    • 1970-01-01
    • 2015-12-25
    • 2011-09-13
    相关资源
    最近更新 更多