我需要生成一个无缝的,可平铺的3D噪声,看起来像一个详细的perlin噪声。多个论坛说“对于花砖3D你需要6D噪音”,而不解释如何。
到目前为止我发现的是lib'Accidential Noise',它可以像我需要的那样提供高达6维的单纯噪声,但是没有解释如何从中产生3D无缝噪声。 https://github.com/JTippetts/accidental-noise-library
它将在C#中实现,但在翻译其他语言时没有问题。
希望有人能够帮助,提前谢谢!
的Dom
答案 0 :(得分:1)
我不明白为什么人们需要6D噪音才能使功能无缝化;根据我的理解,实现3D伪随机函数就足够了,该函数通过使用一些模数计算将索引包裹在边界处而制成可着色的。这种三维噪声可以用作可平铺的三维Perlin噪声的基础,而无需任何额外的机制;当添加Perlin噪声的'octaves'时,自动生成seamlessnes,因为插值之间的噪声值是重复的。
答案 1 :(得分:0)
解决此问题的一种方法是将瓷砖坐标映射到圆环上。然后将圆环坐标作为3d噪声函数的参数。圆环是可以填充的,因为瓷砖的顶部将连接到底部,左边将连接到右边。