我正在成功地使用Perlin噪音来生成地形、云和其他一些漂亮的东西。然而,我现在正试图给一群会飞的昆虫(特别是萤火虫)动画,有人建议我也使用Perlin噪音。不过,我不太清楚该怎么做。
我想到的第一件事是,给了一张这样的噪音图:

然而,这并不包括苍蝇到达地图边缘的情况,也不包括苍蝇可能只绕一个点运行的情况。第二种情况可能不是什么大问题,但我不确定是否有可靠的方法让它们转向以避免与地图边缘发生碰撞。
有什么建议吗?教程或论文(请用英语)?
发布于 2013-05-27 06:19:23
这是一个非常好的二维perlin噪声源。您可以遵循完全相同的原则,但是您可以创建一个一维梯度数组,而不是创建一个二维梯度网格。您可以使用它来创建特定轴的噪声。
只需遵循这个配方,您就可以为您的其他轴创建类似的perlin噪声函数!把这些动作结合起来,你的手上应该会有一些好看的噪音。(你也可以用这些噪声函数作为随机加速度或速度。因为Perlin噪声函数是全局单调的,所以苍蝇不会飞到疯狂的距离。)
http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselinks/perlin-noise-math-faq.html
如果你对其他类型的运动感兴趣,我建议布朗运动。这就是尘埃粒子在你房间周围漂浮时所表现出来的一种运动。本文最后讨论了一些更有趣的数学,但是如果您熟悉Matlab,那么前几组指令应该很容易理解。如果没有,只需搜索函数,并为您的环境找到它们的本地对等物(或者自己创建它们!)这将比perlin噪声更逼真,计算速度也更快。
http://lben.epfl.ch/files/content/sites/lben/files/users/179705/Simulating%20Brownian%20Motion.pdf
飞行愉快!
https://stackoverflow.com/questions/7516810
复制相似问题