Articles of 噪声

如何在这些示例中呈现云模式?

我有一个快速的问题。 我在许多游戏中看到,通常在菜单中,背景中有一些移动的“云”,显然是相互叠加的,在我看来,沉浸在玩家身上真的很棒。 现在想起的几个例子是“孤岛惊魂3”的主菜单背景: https : //www.youtube.com/watch?v = B5XcMx3GjPA 和鼠疫公司主菜单背景: https : //www.youtube.com/watch?v = RQv60ywrLxU (第一秒显示它) 这些模糊的图案看起来像是某种噪音,就像佩林或其他人一样。 那么,你将如何继续用鲜艳的色彩来达到这种模糊的云彩效果呢? 更具体地说,你会预先生成一组云,并将其包含在游戏包中? 或者在飞行中生成它们? 在CPU上作为常规纹理或在GPU着色器程序中绘制? 我对掌握这种视觉效果很感兴趣,所以任何帮助都会被赞赏,并以正确的方式指向我。 谢谢。

Perlin噪声在较高的z上看起来不相关

我正在体验我的Perlin噪声function,我试图通过改变每帧less量的z值来制作2D噪声的animation。 然而,随着z的增加,结果变得陌生而陌生,看起来像这样: 为什么发生这种情况? 我怎么能解决这个问题? 这是可能是错误的Lua代码(如问): function perlin.fade(t) return t * t * t * (t * (6 * t – 15) + 10) end function perlin.lerp(t, a, b) return a + t * (b – a) end function perlin.grad(hash, x, y, z) local h = hash % 16 local u local v if (h < […]

在GLSL着色器中使用简单的相干噪声函数

我正在寻找一个简单(但特别快)的相干噪声函数,以便在用GLSL编写的着色器中使用它。 我不需要它过于顺利或好看,我只是需要它具有以下属性: 传递相同的input值将始终返回相同的输出值。 input值的小改变会使输出值发生小的变化。 input值的较大变化将导致输出值的随机变化。 我真的需要它是快速的 ,因为它将被GPU调用一次像素(有一个想法应该是多快,我试过Perlin噪声,它崩溃了我的应用程序)。 我应该使用什么方法? 我还想,如果相同的模式不会随着时间的推移重复。

Java中的一维地形生成

无法为一维随机地形生成实施柏林噪音。 我到处尝试,找不到任何有用的东西,确定我有点了解Perlin Noise,但是每次尝试都没有用。 我在Java中使用LibGDX,如果有帮助,谢谢。 这是PN的代码 static float Noise(int x) { x = (x << 13) ^ x; return (float) (1.0 – ((x * (x * x * 15731 + 789221) + 1376312589) & Integer.MAX_VALUE) / 1073741824f); } public static float PerlinNoise1D(float x, float persistence, int octaves) { float total = 0; float p = persistence; […]

这个散列函数在这个perlin噪声实现中如何工作?

在Perlin的噪声函数实现中 ,他使用一个数组来散列input坐标,然后find梯度向量。 但是在Stefan Gustavson的实现中 ,使用了一个奇怪的“permute”函数: vec4 permute(vec4 x) { return mod289(((x*34.0)+1.0)*x); } vec4 mod289(vec4 x) { return x – floor(x * (1.0 / 289.0)) * 289.0; } 然后,它是这样使用的: vec4 i = permute(permute(ix) + iy); vec4 gx = fract(i * (1.0 / 41.0)) * 2.0 – 1.0 ; vec4 gy = abs(gx) – 0.5 ; vec4 […]

单纯的噪音高度图

我目前正在用“无限”编程生成的地形来进行游戏。 通过使用单工噪声创建高度图来生成地形。 我跟着一个教程,结束了以下代码(顺便说一下,这是vb.net): Public Shared Function GetNoise(ByVal xin As Double, ByVal yin As Double, ByVal zin As Double) As Single Dim n0, n1, n2, n3 As Double ' Noise contributions from the four corners ' Skew the input space to determine which simplex cell we're in Dim s As Double = (xin + yin + […]

如何创建无缝5D噪声function?

我想创建一个无缝的三维纹理,我已经读过,它是可行的5D噪声function,但我找不到任何实现,math在我的脑海。 如何创建5D噪声函数来创建无缝3D纹理?

如何分层这样的沃利噪音?

最近我试图实现Siggraph15_Schneider_Real-Time_Volumetric_Cloudscapes_of_Horizon_Zero_Dawn ,你也可以在GPU Pro 7(第二部分照明,第四章,Real-Time Volumetric Cloudscape)中find它。 我可以做出第一个沃利噪音,并增加频率,我可以得到另一个沃利噪音,但如何混合两个噪音来获得中间的噪音,最后,第三个噪音“? 最后的图像是两个单一的频率worley噪音和结果我融合them.You可以尝试与他们的方法。 我的公式是这样的: tmp = (worley1 + smoothstep(0, 1, worley1)*worley2*0.5) / (1 + smoothstep(0, 1, worley1)*0.5); tmp = ReMap(0, 1, 0, 0.7, tmp); ReMap是: double ReMap(double oldMin, double oldMax, double newMin, double newMax, double src); 请注意,worley1和worley2是从0到1的无用噪声范围。结果在第一眼看上去很接近,但显然不一样。 我认为这个公式太棘手了,也许我错了。

如何将域变形应用于Unity中的行进立方体体素地形?

所以,在GPUgem3中 ,我想要复制一个很酷的扭曲的地形。 目前,我正在生成的地形很好,但我想补充说,扭曲的影响。 // Do this before using 'ws' to sample the nine octaves! float3 warp = noiseVol2.Sample( TrilinearRepeat, ws*0.004 ).xyz; ws += warp * 8; 林想知道如何在C#中复制上面的代码。 上面的代码是做什么的? 什么types的variables是noiseVol2.Sample(x,y).xyz? 我想扭曲我自己的地形,目前我有一个系统,创建一定的频率和幅度的柏林噪音八度。 它看起来像这样: var perlin0 = new Perlin3(0,baseFreq * 4.03f, 0.25f); var perlin1 = new Perlin3(1, baseFreq * 1.96f, 0.50f); var perlin2 = new Perlin3(2, baseFreq * […]

如何使用噪声将湍stream添加到粒子系统?

我在openGL中使用变换反馈实现了一个基本的粒子系统,希望能够复制一个尘埃云。 我已经看过添加湍stream的方法,比如这里发现的旋涡。 但是他们没有达到预期的效果。 该指南讨论了使用perlin或单纯噪声来增加湍stream的想法。 但是我不明白这是怎么完成的? 你会使用预先生成的噪声纹理,并从中采样数据? 或在着色器运行时计算数据? 噪声扰动背后的基本思想是什么? 编辑:我的主要问题是,如何从噪声值得到湍stream速度?