1
我使用Box2D來模擬在行星上行走的人。我計算了一個自定義引力朝向地球的中心,除了一個小故障外,它正常工作:我用作人物物理模型的盒子當前正在圍繞地球移動。我希望它永遠是正確的方式。你如何建議我這樣做?保持對象在地球表面的正確方式
我曾經想過,當人的腳接觸地面時,要考慮重力矢量並計算切向矢量,但我不太確定如何去做。如果這是最好的方式,你能解釋一下如何實現這個目標嗎?沒有更簡單的方法嗎?
我使用Box2D來模擬在行星上行走的人。我計算了一個自定義引力朝向地球的中心,除了一個小故障外,它正常工作:我用作人物物理模型的盒子當前正在圍繞地球移動。我希望它永遠是正確的方式。你如何建議我這樣做?保持對象在地球表面的正確方式
我曾經想過,當人的腳接觸地面時,要考慮重力矢量並計算切向矢量,但我不太確定如何去做。如果這是最好的方式,你能解釋一下如何實現這個目標嗎?沒有更簡單的方法嗎?
有一個更簡單的方法。
我假設通過「正確的方式」,你的意思是腳應該始終指向星球。
執行以下操作:
如果你這樣做,棱鏡聯合應該照顧你的球員旋轉你想要的方式。
如果您希望設置的角度手動我認爲,你可以通過使用atan2這樣計算角度:
Math.atan2(planetPos.y - playerPos.y,planetPos.x - playerPos。 X);
這將計算角度雖然。您必須將其轉換爲弧度才能在Box2D中使用它。
謝謝。這似乎是一個合理的解決方案,雖然我還沒有嘗試過。我現在選擇了更多的三角函數解決方案,因爲當我們有多個「行星」靠近時,似乎會更好。 – Elektito