不同类型的光滑物体运动

时间:2013-03-30 19:14:37

标签: math

在游戏中,我有一个特定的对象和两个位置,对象将从中移动到另一个位置。 我已经具有在特定时间内计算当前位置的功能。

它的工作原理如下:

输入0会将对象移动到位置1。

输入1会将对象移动到位置2。

输入0.5会将对象移动到两个位置的中间位置。

等...

(在下面的例子中,时间从0到1不等) 当我想慢慢启动对象并在快速移动时停止它时,我使用:

MoveObject(sin(time * 90))

当我想快速启动对象并在速度变慢时停止它,我使用:

MoveObject(1 - cos(time * 90))

没有效果,它是:

MoveObject(time)

如何使对象开始缓慢移动,在两个位置的中心快速移动,然后在到达第二个位置时变慢?

1 个答案:

答案 0 :(得分:0)

这将是:

MoveObject((time) * (time) * (3 - 2 * (time)))

sol.gfxile.net/interpolation