关于3d:将两个程序生成的景观片段连接起来

Connect two procedurally generated landscape pieces

我正在研究连续世界的程序生成。
最近,我被建议使用高度图组合对我的景观施加一些约束。

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

那么您会推荐什么?


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

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

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