程序生成-How是一个用于生成地形的三维佩林噪波函数



我可以使用2D Perlin噪波函数来生成高度值,但我不明白为什么要使用3D Perlin噪波函数。在Notch的博客中,他提到在Minecraft上使用3D Perlin噪声函数生成地形。有人知道如何做到这一点,以及为什么它会有用吗?如果您正在传递xyz值,这不意味着您已经有了高度吗?

这篇文章确切地说明了他使用3D噪音的原因:

我使用了2D Perlin噪波高度图。。。……但缺点是迟钝的具体来说,没有办法此方法生成任何悬伸。

所以我把系统切换到基于3D Perlin的类似系统噪音而不是对"地面"进行采样高度",我将噪声值视为"密度"大于0将是空气,以及任何东西大于或等于0地

好吧,《我的世界》是关于Mines的。所以,Notch试图解决的问题是:"我如何在我的世界里找到洞/悬挑?"

由于2D perlin噪波会生成好看/平滑的山丘,因此3d perlin噪波会在3d体素网格中生成好看/光滑的山丘和好看的洞。

这里可以找到一个实现(而这是一个N维解决方案)。

在其他使用情况下,3D柏林噪波的Z分量被设置为当前时间。通过这种方式,您将在不同的2d perlin噪波之间获得平滑过渡,这可以用作流体纹理的基础。

相关内容

  • 没有找到相关文章

最新更新