在gamedev.SE上,我们发现Perlin-noise 的 flash 实现似乎与其他实现有很大的不同。
我没有在网上找到任何实现细节,但我想知道是否有人能说出闪存中的 Perlin-noise 使用了哪种算法。
使用bitmapData.perlinNoise(32, 32, 1, 200, false, false, 7, true);
生成这样的图像,其中仅numOctaves
更改了参数(1
, 2
,4
从左到右):
然而 Perlin-noise 的其他实现看起来完全不同。例如,维基百科关于 Perlin-noise的文章中的图像:
Perlin-noise 的 Actionscript 实现也产生了完全不同的结果,如下图所示(八度音阶,1
从左到右):2
4
我最感兴趣的是只有一个八度音阶的噪音外观。在 Flash 实现中,您可以清楚地看到,噪音正在形成类似分离的斑点。
重要:闪光灯中产生的噪音false
用于fractalNoise
参数。如果fractalNoise
设置为true
,则结果实际上与 Wikipedia 和其他实现中的结果非常相似。
参数说明如下:
一个布尔值。如果该值为真,则该方法生成分形噪声;否则,它会产生湍流。具有湍流的图像在渐变中具有明显的不连续性,可以使其更好地接近更清晰的视觉效果,例如火焰和海浪。
正如我们所见,他们用湍流来描述产生噪音的方法。所以我想问题是:flash 生成的输出仍然是 Perlin 噪声吗?或者这种噪音还有别的名字吗?最重要的是:在哪里可以找到一种实现来产生这样的噪音?