2012-04-24 21 views
6

我想知道IOS的「Contre jour」遊戲有多漂亮。 特別是我喜歡彈性的「觸角」,2分鐘20秒這個視頻所示: http://www.youtube.com/watch?v=ptdTdJarWLw像Contre Jour中的彈性觸手的圖形效果

如何可以實現這樣的效果?

我知道有技術叫做「Verlet整合」,甚至是在cocos2d中繪製繩索的「verlet rope」的實現,但是如何爲「觸手」精靈製作如此好的彈性效果呢?

我有box2D使用經驗,並可能嘗試實現這種效果的物理,但無法找到解決方案如何繪製這種彈性變形的精靈。

任何人都可以幫助我或提供一些提示嗎?

只是即使解釋技術,這可以幫助我嗎?

我有一點opengl的經驗,很棒的cocos2d經驗,所以我打算使用cocos2d。

對不起,我的英文不好,我希望,你會明白我的問題:)

回答

9

如果你使用的Box2D,你可以嘗試使用設置爲非默認值frequencyHz和dampingRatio選擇一個距離聯合。大概4-6的低頻率和0.5-0.7的阻尼可能是一個好的開始。您可以將頻率想象爲關節每秒修正距離的次數,以及每次修正距離的程度。將阻尼設置爲小於1的值將意味着關節將更慢以校正距離,並且將具有彈性/橡膠行爲。

至於渲染,你可以確實使用verlet集成。以距離關節的兩個錨點作爲「繩索」的端點,並在均勻間隔的線上放置一些點(看起來不需要太多)。每個時間步,兩個點之間的點將簡單地移向它們兩側的兩個點的平均值。通過調整中間點在每個時間步移動到目標位置的距離,可以使繩看起來更緊密或更鬆散。

最終紋理/精靈渲染將從當前位置的位置開始。

+0

另請參閱Box2D測試平臺中的'Web'示例。 – iforce2d 2012-05-02 06:37:49