我能理解使用 2D Perlin 噪声函数来生成高度值,但是我不明白为什么要使用 3D Perlin 噪声函数。在Notch的博客中,他提到了在 Minecraft 中使用 3D Perlin 噪声函数来生成地形。有人知道如何实现以及它的用途吗?如果您传递 x
、y
和 z
值,这难道不意味着您已经有了高度吗?
我能理解使用 2D Perlin 噪声函数来生成高度值,但是我不明白为什么要使用 3D Perlin 噪声函数。在Notch的博客中,他提到了在 Minecraft 中使用 3D Perlin 噪声函数来生成地形。有人知道如何实现以及它的用途吗?如果您传递 x
、y
和 z
值,这难道不意味着您已经有了高度吗?
嗯,Minecraft是关于矿井的。因此,Notch试图解决的问题是:“如何在我的世界中获得洞穴/悬崖?”
由于2D Perlin噪声生成美丽/平滑的山丘,3D Perlin噪声将在您的3D体素网格中生成美丽/平滑的山丘和漂亮的洞穴。
可以在这里找到一种实现方法(虽然那是一个N维度的解决方案)。
在其他用例中,3D Perlin噪声的Z分量设置为当前时间。这样,您将获得不同2D Perlin噪声之间的平滑过渡,这可用作流体纹理的基础。