我成功地使用 Perlin 噪声来生成地形、云和其他一些漂亮的东西。但是,我现在正在尝试为一群飞虫(特别是萤火虫)制作动画,并且建议我也为此使用 Perlin 噪声。但是,我不确定该怎么做。
我首先想到的是,给定这样的噪声图:
- 为每只萤火虫分配一个随机的初始位置、速度和角加速度。
- 在帧上,按照其方向向量推进苍蝇的位置。
- 读取新位置的噪声图,并使用它来调整角加速度,使苍蝇“转向”向较亮的像素。
- 通过其他苍蝇的接近度再次调整角加速度,以避免它们聚集在局部最大值附近。
但是,这不包括苍蝇到达地图边缘的情况,或者它们可能最终只绕一个点运行的情况。第二种情况可能没什么大不了的,但我不确定让它们转向以避免与地图边缘碰撞的可靠方法。
建议?教程或论文(请用英文)?