我正致力于一个连续世界的程序生成 最近,我advised使用高度贴图组合对我的景观应用了一些约束。
下一步是将两个程序生成的部分相互连接,以便过渡顺利
更准确地说,它是关于基于前一个生成下一个片段的全部。
我想知道最好的方法是什么(无论是通过组合高度图还是以其他方式)
如果我会使用Diamond Square或Mid Displacement或任何基于封闭点的算法来生成高度,
我会考虑将第一个边缘值分配给第二个边缘并将它们用作"随机"这些点的价值。
通过这种方式,过渡将是平滑的,因为第二件中的所有其余点已经考虑了从第一件中取出的边缘点。
不幸的是(或幸运的是)我使用单纯形噪声算法来生成高度,正如您所知,这是一种基于梯度的算法。
那你会推荐什么?
答案 0 :(得分:1)
你可以采用与上一个问题类似的方式。
如果你的世界被某个网格划分并导致世界chunks
,我会使所有块更大,以便它们与邻居重叠。然后,您可以通过边缘处为0
的某个矩形渐变来调整高度图。最后,当您对所有重叠块的调制值求和时,您应该在一个高度图和另一个高度图之间进行平滑过渡。
您仍然需要尝试使用块比例因子和梯度数据,以获得最佳的转换和性能。幸运的是,许多操作都可以通过简单的渲染在GPU上完成。