连接两个程序生成的景观片段

时间:2014-05-07 06:01:03

标签: 3d terrain procedural-generation heightmap simplex-noise

我正致力于一个连续世界的程序生成 最近,我advised使用高度贴图组合对我的景观应用了一些约束。

下一步是将两个程序生成的部分相互连接,以便过渡顺利 更准确地说,它是关于基于前一个生成下一个片段的全部。 我想知道最好的方法是什么(无论是通过组合高度图还是以其他方式) 如果我会使用Diamond Square或Mid Displacement或任何基于封闭点的算法来生成高度, 我会考虑将第一个边缘值分配给第二个边缘并将它们用作"随机"这些点的价值。 通过这种方式,过渡将是平滑的,因为第二件中的所有其余点已经考虑了从第一件中取出的边缘点。
不幸的是(或幸运的是)我使用单纯形噪声算法来生成高度,正如您所知,这是一种基于梯度的算法。

那你会推荐什么?

1 个答案:

答案 0 :(得分:1)

你可以采用与上一个问题类似的方式。

如果你的世界被某个网格划分并导致世界chunks,我会使所有块更大,以便它们与邻居重叠。然后,您可以通过边缘处为0的某个矩形渐变来调整高度图。最后,当您对所有重叠块的调制值求和时,您应该在一个高度图和另一个高度图之间进行平滑过渡。

您仍然需要尝试使用块比例因子和梯度数据,以获得最佳的转换和性能。幸运的是,许多操作都可以通过简单的渲染在GPU上完成。