首先对我的英语倾注感到抱歉。
我正在尝试制作具有地形的虚拟世界,就像在 simcity2000 或运输大亨中,地形由瓷砖制成,瓷砖高度不能在瓷砖之间跳跃超过一层,因此没有悬崖。
对于地形生成,我使用的是 perlin\simplex 噪声,但我正在使用它来适应陡峭的斜坡。
我查看了 Open Transport Tycoon 的源代码,在生成地形后,地图上的所有图块都被循环并平滑,只有一个单元的高程。
但这对我来说行不通,因为我的地图会更大,而且我无法通过循环平滑所有地图。此外,不可能仅对地形的可见部分进行平滑处理,因为它会根据从哪个瓷砖平滑开始而有所不同。
我试图编写自己的噪声函数,它返回两个点之间的线性插值值,距离等于这些点的最大高度,这样斜率不能超过 45 度,它有效,但直到你尝试总结这样一起发挥作用。
如何伪随机生成最大 45 度山坡的地形,并以其他方式接近,而不仅仅是平滑一些先前生成的地图?
现在我没有想法,并希望 Perlin 噪声可能有一些可能的选项,如“最大坡度角”,但谷歌并没有帮助我。