2012-02-12 35 views
2

主播放器在我的遊戲是使用b2Revolute接頭連接而成的兩足動物。這在大多數情況下效果很好,因爲我可以限制每個關節的旋轉,從而形成一個實際的兩足動物。但是當大量的力量應用到兩足動物身上時,它的部分會很舒適,看起來很荒謬。有沒有辦法限制聯合的靈活性?另一個問題是每個關節不會完全限制旋轉。這最終在幾乎360度的腿擺動。有什麼辦法可以設定這個關節有多嚴格?我想過使用b2DistanceJoint,但是這不允許我限制旋轉。b2RevoluteJoint嚴謹

回答

0

在Box2D中,脈衝被計算來移動兩個連接機構,使得關節約束被滿足(例如爲轉動關節的制約是錨點和角度限制)。這些衝動是在兩個機構之間共享的,所以它們的質量影響被考慮在內。質量相等的

兩個機構都將同樣移動到正確的節點約束。當身體有不同的質量時,較輕的身體傾向於「服從」較重的身體,並且比較重的身體更多地移動以糾正約束,好像其中存在某種「啄食順序」。當一個較輕的車身連接到兩個較重的車身併發生「啄」時,會出現問題,這幾乎不會導致兩個接頭同時受到限制。爲了避免這種

的一種方法是,以確保這啄食順序唯一無二的一種方式,例如。你的兩足動物的軀幹是最重的身體,所有相連的身體從軀幹離開時都會變得更輕。這種方法有效,直到他抓住手臂末端比身體更重的東西,此時啄食順序發生衝突。

我的猜測是,你正試圖使兩足動物搶東西重,拉,但沒有得到拉開?您可以通過將重物與繩索接頭連接在一起來實現此目的,該接頭設置了兩點可以分開的最大距離。例如,如果他發現自己在一些可怕的情況就像從懸崖邊上掛着用一隻手,用他的寵物大象吊低於他抓住在另一方面,你可以用繩子聯合是聯合起來的懸崖和大象只要他的雙手之間的距離最大。這可以讓他看起來超級強壯(他必須首先嚐試這樣做),因爲啄食順序直接從懸崖到大象,並完全跳過他。

+0

謝謝。這解決了這個問題。感謝關於繩索接頭的想法。 – 2012-02-17 17:49:47