我对为正在开发的2D游戏生成3D高度图感兴趣。我正在使用它来创建Minecraft或Dwarf Fortress中的地块,并且以前已经这样做过,但仅在固定大小下进行过:

http://www.freewebs.com/shadowphantom/Results.html

现在,我看到我应该研究Perlin或Simplex噪点,但是现在我对如何将Perlin或Simplex噪点应用于2D高度数组感到困惑。

由于我不知道该怎么办,对此的任何帮助将不胜感激。不在乐谱上的“ Octave ”一词使我感到恐惧。

最佳答案

我认为您的问题的措词可能不正确。高度图本身就是2D的,您可以用它来生成3D地形(网格)。

http://en.wikipedia.org/wiki/Heightmap

如果是这种情况,那么您可以使用Perlin杂点函数创建2D图像并将其用于高度图。如果不确定所创建的内容,例如,可以使用GIMP或Photoshop或类似工具在2D Canvas上创建Perlin噪波。

Minecraft利用Perlin杂讯功能创建3D杂讯立方体。因此,在高度图是2D Perlin噪点的情况下,Minecraft是3D Perlin噪点。您还可以生成1D Perlin噪声。

Perlin杂点函数的好处是,您可以通过数学控制纹理的“分辨率”和“偏移”,从而创建无缝的环境。我相信Minecraft以Perlin噪声为基础,然后转到一些自动机进行画龙点睛。

我不熟悉单纯噪声。

编辑:这是测试某些数学函数(处理中)的链接
http://processing.org/learning/basics/noise2d.html

10-02 11:34
查看更多