2011-04-23 117 views
1

我正在開發保齡球遊戲。我無法實現碰撞檢測,球運動(力和摩擦)和旋轉等物理。任何人都可以請幫我嗎?在遊戲中實現物理

+0

谷歌是你的朋友。尋找一些物理課程 – BlackBear 2011-04-23 19:42:29

+0

不要忘記接受答案:P – 2011-04-23 20:23:37

回答

3

物理我們不能教你,但MIT will

如果這是您的第一款遊戲,並且您正在同時學習圖形編程,那麼我會建議您使用預建的物理庫(例如Bullet)。

編輯:有一個物理引擎的大名單here

1

我可以建議你使用tokamak物理引擎,如果你不想自己動手這一切。我記得習慣這種引擎並不需要很多時間。

或者你可以找到另一個物理引擎。

0

最好的辦法是使用物理庫,如Open Dynamics Engine。 ODE有一個C/C++接口,因爲你標記爲C++,它可能對你有用。它是開源的,速度非常快,適用於遊戲。如果你真的想進入物理學並嘗試實現自己,那麼這是相當多的工作,但如果你遇到這種情況就很有趣。

其基本思想是跟蹤所有遊戲區對象(球,別針,地板等)的所有物理參數(位置,速度,加速度,旋轉速度等)。然後在規則的時間間隔內,比如說每10毫秒,更新物理參數,使其在這個時間間隔內變化,說明所有物理定律(物理定律)和物理相互作用(碰撞,摩擦,其他施加的力)。取出輸出並重新繪製比賽場地對象。

這就是簡單的解釋。還有很多其他的事情需要擔心,比如數值穩定性和性能,當你有很多比賽場對象進行交互時。當您嘗試對除最簡單的gemoetrical基元以外的其他東西進行碰撞檢測時,數學也會變得非常複雜。這就是爲什麼最好學習第三方引擎,如果你只是想專注於你的遊戲。