2013-03-30 60 views
0

在遊戲中,我有一個特定的物體和兩個物體將從中移動到的位置。 我已經有了在特定時間計算當前位置的功能。不同類型的平滑物體移動

它的工作原理是這樣的:

輸入0將移動對象至位置1

輸入1將移動對象至位置2

輸入0.5將在中間移動的對象的兩個職位。

等等

(在下面,時間變化從0到1的例子) 當我要慢慢啓動對象,並停止它時,它正在快速移動,我使用:

MoveObject(sin(time * 90)) 

當我想快速啓動對象,並停止它,因爲它是越來越慢,我用:

MoveObject(1 - cos(time * 90)) 

沒有影響,它是:

MoveObject(time) 

如何讓對象開始緩慢移動,在兩個位置的中心快速移動,然後在到達第二個位置時變慢?

回答

0

這將是:

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

sol.gfxile.net/interpolation

+0

'3 *(T^2) - 2 *(T^3)'被稱爲**易於曲線**(以供將來參考) –