【问题标题】:Animation theory (natural animations)动画理论(自然动画)
【发布时间】:2015-03-03 03:00:24
【问题描述】:

例如,我想制作一只鸟如何在天空中飞行的动画,我不是在谈论翅膀的动画,而是如何在画布上随机制作一个对象的动画。

我使用大量随机化来为这些对象设置动画,例如:将 [对象] 从 a 移动到 b(随机距离、随机速度、随机 x、随机 y 等)。

但这真的是最好的方法吗?或者是否有任何关于如何实现最自然行为的算法理论。

动画可以是一只鸟,但也可以是灰尘或飞沙)

(我希望我的问题足够清楚)

【问题讨论】:

  • 要在这种情况下制作逼真的动画,您需要一个带有物理引擎的库来计算这些东西,但这对于 javascript 来说没什么,因为它需要太多的资源来计算
  • 感谢您的回答,但说​​ javascript 不够强大是绝对不正确的。我想了解它背后的理论。
  • 对不起,这是我的意见 :) Javascript 不能在运行时计算真实的物理,因为它是一种脚本语言.. 但是那里有一些库(例如:wellcaffeinated.net/PhysicsJS)也许只是看看吧

标签: javascript algorithm animation random


【解决方案1】:

其实,天上很少有鸟是独立的,也许你可以看看flocking behavior of boids

它们基本上基于 3 条规则

  • 分离:避免拥挤当地群友对齐:
  • 转向当地羊群凝聚力的平均方向:
  • 转向向局部的平均位置(质心)移动 群友

这就是说你可以想象它与沙尘运动计算有点不同,因为这些是实际的物理问题(主要是fluid mechanics navier stokes

但我很确定,如果你真的不想准确(navier stokes 不准确),你可以破解一些 boids 规则来移动粒子。

【讨论】:

  • 谢谢!你的回答将帮助我实现我的动画。
【解决方案2】:

post中提取的答案

Lévy flightsbrownian motion 应该可以工作。这些是随机游走 在每个时间步,昆虫移动一个随机方向,并且 距离。它们在随机变量的分布上有所不同 采样自。

狩猎鲨鱼的运动可以建模为布朗运动,当 猎物丰富,猎物稀少时会逃跑。

根据您的用途,您可能希望限制他们的 运动(使它们靠近关卡的特定部分)或限制 加速(使它们看起来有更大的惯性)。

【讨论】:

  • 谢谢!你的回答也将帮助我实现我的动画。我想我在寻找布朗运动。
  • @barry 不客气,祝布朗运动好运,听起来真是个有趣的话题!
猜你喜欢
  • 1970-01-01
  • 2011-11-27
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多