创建雨效果/水滴的算法?

问题描述 投票:0回答:6

无论使用任何特定语言,创建雨效果或水滴背后的原理是什么?我见过一些用 Flash 制作的令人印象深刻的雨水和水效果,但它实际上是如何工作的?

下雨效果示例

雨滴水效果示例

algorithm effects
6个回答
3
投票

你问的问题好像这两个例子是相关的,但你实际上有

1)模拟空气中看到的雨滴(水滴轨迹;简单,但真实感很大程度上取决于光照)

为此,您需要模拟以下事件:

for each time step:
    create new drops
    move existing drops vertically down
    remove (or/and animate) the drops hitting the ground

正如其他答案所指出的,可以使用各种算法创建新的水滴(大小和位置)。 至于速度,它们以恒定的速度移动。 最后,要显示您的踪迹,您需要查看简单的投影

2)模拟飞溅波(水模拟,示例中显示了反射面)

为此,您只需要知道水滴落在哪里以及它们有多大,剩下的就是波的传播。然而,只有存在反射时,这才真正可见,这可能有点棘手。

注意事项: 决定真实性的因素有很多,但主要归结为细节。 例如,通常只有在奇怪的照明条件下(靠近灯或在高对比度背景下)才能清楚地看到雨。不然就很惨淡了

还有交互中的细节 - 溅到它撞击的表面上,这可能会留下气泡(如果足够近可以注意到),或产生波浪。

另一个例子 - 如果你看这个教程,这并不现实,但它确实说明了一点,你会发现即使雨看起来更像雪,它也暴露了第一个例子的“平坦度”(完全没有深度)。

所以,细节决定一切。

尝试根据必须模拟的事件对您所拥有的内容进行建模,然后分别模拟每个事件来解决 - 例如,使用分形来播种降雨可能是一种矫枉过正,但如果您很好地对您的工作进行建模,那么您可以从随机播种开始,然后再解决用更准确/复杂的方法替代。


3
投票

这里有一篇由 Mandelbrot 和 Lovejoy 撰写的论文,这是在开发代表降雨的分形模型方面被引用最多的著作之一。


2
投票

第二个(雨滴水效果示例)可能是用波动方程模拟器完成的


1
投票

他们可能主要使用粒子效果


1
投票

一种非常便宜的老式方法是使用调色板循环。基本上,您设置颜色渐变并以固定间隔将一种颜色移动到下一种颜色。移动的颜色给人一种运动的错觉。我曾开发过一些游戏,其中雨、风、雪、瀑布、火等都使用调色板循环进行动画处理。这是一门即将消亡的艺术,但它仍然有效。 :)


0
投票

老实说,我们需要停止被所有这些经纪人和账户经理愚弄,他们骗了我超过20万美元的投资资金,他们不断要求额外的资金,然后才能接受和处理提款请求,最后,我失去了所有我的钱。所有联系他们的客户支持台的努力都被拒绝了,我发现很难继续前进。我正在研究并找到一个广播,该广播教授受骗受害者如何追回资金,我联系了提供咨询的电子邮件([电子邮件受保护],)几分钟后我收到了反馈,并被要求提供有关的所有法律详细信息我的投资,我完全按照他们指示我做的去做,毫不拖延,令我最惊讶的是,我能够收回我的钱,包括我的资本产生的利润。我说我不会把这个秘密藏在心里,而是分享给公众,让所有受骗的受害者都能拿回他们的资金。您还可以拨打 +1(336) 394-2139、Telegram@garryspeedhack 发送 WhatsApp 给他们

© www.soinside.com 2019 - 2024. All rights reserved.