我只是尝试使用这种方法在Gustavson的java实现中创建一个2D平铺单工噪声函数。结果平铺,但纹理似乎浑浊/褪色。

我决定比较2d,3d和4d版本通过将任何“额外”尺寸参数保持为零来制作2d纹理的结果。 4d输出看起来与我平铺的2d输出相同。此外,我注意到了一种趋势:随着尺寸的增加,噪声开始从最小值和最大值向平均值漂移。以下是结果以及它们的直方图:



我碰到了这篇文章,讨论了Gustavson实施中的一些工件,并想知道这是否可能导致了问题,所以我尝试改用OpenSimplex噪声并获得非常相似的结果。

这是怎么回事?我想使用4d单面噪波制作平铺2d纹理,看起来更像是
常规2d单面噪波。如有必要,我可以尝试调整输出,但这似乎很糟糕,我宁愿
处理问题而不是症状,如果可能的话。我问:为什么尺寸似乎会影响最终的2D,如图所示?

评论

stackoverflow.com/questions/1313259/tiling-simplex-noise

来自维基百科:“单纯形噪声没有明显的方向性伪像(在视觉上是各向同性的),尽管为不同维度生成的噪声在视觉上是截然不同的(例如2D噪声的外观与3D噪声片段的外观不同,并且对于更高维度的噪声看起来越来越差)需要])。,听起来像您所得到的

同样来自维基百科:“对于更高的维度,n个单纯形拐角附近的n个球体没有足够密集地堆积,从而减少了对该函数的支持,并使它在大部分空间中为零。”

您可能还想确保所有的dim都返回全范围值。某些实现不会。