-1

我正在研究一个连续世界的程序生成。
最近有人建议我使用高度图组合对我的景观应用一些限制。

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

那么你会推荐什么?

4

1 回答 1

1

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

如果你的世界被一些网格划分并产生 world chunks,我会让所有的块更大一点,这样它们就会与它们的邻居重叠。然后你可以通过一些0在边缘的矩形渐变来调制你的高度图。最后,当你对所有重叠块的调制值求和时,你应该在一个高度图和另一个高度图之间获得平滑过渡。

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

于 2014-05-07T10:59:29.200 回答