嘿,我目前正在尋找在2D視頻遊戲中實現碰撞響應的各種方法,類似於本教程Metanet有:N Tutorial我期待在XNA中實現某些東西,但任何語言都會沒事的。我更感興趣的是比實際理論以編程方式實現。我更喜歡更多適合初學者的材料,但我確實歡迎更多的高級話題。良好的二維碰撞響應參考
那麼有人可以提出一些很好的2D碰撞反應文章/書?
(PS:我更感興趣的響應比檢測)
嘿,我目前正在尋找在2D視頻遊戲中實現碰撞響應的各種方法,類似於本教程Metanet有:N Tutorial我期待在XNA中實現某些東西,但任何語言都會沒事的。我更感興趣的是比實際理論以編程方式實現。我更喜歡更多適合初學者的材料,但我確實歡迎更多的高級話題。良好的二維碰撞響應參考
那麼有人可以提出一些很好的2D碰撞反應文章/書?
(PS:我更感興趣的響應比檢測)
您提到的N tutorial已經是一個很好的資源。我也推薦非常好的文章2D Polygon Collision Detection。它帶有一個很好的C#實現和使用分離軸定理的多邊形碰撞檢測示例,並更好地解釋了一些概念。
就應對碰撞而言,它取決於場景。對於遊戲,您可能需要根據當前速度檢查可能的碰撞,然後調整實際速度以防止碰撞。你也可以實現某種「反彈」效果。無論如何,它可能會調整物體的速度和方向。
您可以使用分離軸定理來進行碰撞檢測,也可以使用多邊形投影查找特定軸上到目標的距離。 (大部分時間是你移動的矢量)。
我很喜歡這一個,它剛來一個星期前,它的一切你能想到的短期做相對論效應:
http://www.amazon.com/Physics-Game-Programmers-Grant-Palmer/dp/159059472X
物理引擎非常複雜。使用現有的會更好。
如果您想在遊戲中使用物理,請使用Farseer或Box2D綁定。如果您想了解物理學,請考慮製作Box2D的C#端口或Chipmunk。如果你只是好奇,他們的所有代碼都是開源的。
我對做逼真的物理學並不感興趣,並且對如何處理實際碰撞感興趣更多(比如N如何使用投影)。我想我正在尋找的是裸骨基礎知識,沒有什麼複雜的。我看過Box2D並聽說過Farseer,他們看起來很不錯,如果我決定製作一個基於物理的遊戲,我肯定會訴諸一個或另一個。 Box2d也在Flash上。 – Jeff 2010-07-16 20:23:08
你需要多少細節?回答其中一些問題可以幫助您消除那些不需要的軟件包。
您是否不必擔心物體旋轉?然後你需要關心槓桿臂,角動量,慣性力矩和扭矩。
你有沒有擔心變形?然後你需要進入有限元分析,壓力/應變等等 - 描述物體如何在內部對外力作出反應的東西。
摩擦效應呢?那麼你需要摩擦係數,或者可能需要空氣阻力的速度模型。
重力影響?電磁效應?其他力量?
我簡直就是想要基本的迴應。一些教程,如馬里奧3例如實施會很好(雖然新馬里奧有一些非常有趣的物理...)。我想知道他們如何應對碰撞。它們是否產生最小修正向量並移出?他們使用小泉水嗎?但最重要的是,我正在尋找他們如何實現這一目標。我發佈的N教程非常接近我正在尋找的內容,但我更願意深入一些。 – Jeff 2010-08-19 02:06:21
你看過Cocos2d?
我聽說過它。什麼是衝突明智?另外,不是真的我在找什麼,但是謝謝:) – Jeff 2010-08-23 22:17:22
我不確定你在開發什麼環境,但Cocos2d可以用於Mac和iPhone,但我不確定它還有什麼可用於(如果有的話)。 – gWaldo 2010-08-24 12:16:27
cocos適用於蘋果產品,不適用於XNA – redcodefinal 2013-08-25 02:05:00
如果你想碰撞RESP一個基本答案ONSE,那就是:
for each pair of objects that collide
ask gently to the collision detection lib their interpenetration distance
Apply an impulse (i.e. a force in the duration of the frame) to both objects :
force proportional to penetration depth (you will have to tune the coef by hand)
direction : perpendicular to the collision normal.
application point : the collision point (approximately, since it s not a point anymore but a volume)
integrate (Euler, Verlet,)\
我正在尋找同樣的信息也最實用 的事情,我發現到目前爲止是
http://www.myphysicslab.com/collision.html
這裏對我來說,更糟糕的是塔哈特這是 無摩擦(正切碰撞衝動 只有正常衝動),我認爲與 這樣的摩擦衝動會更好,但仍然 未找到教程如何正確實施 即
對不起,我們無法遷移到stackexchange站點。但是如果你可以訪問它們(beta版是gamedev),那麼你可以在那邊提問。 – Will 2010-07-23 17:07:09