2012-03-25 7 views
2

기본적으로 box2d를 사용하여 정확한 궤도 중력 시스템을 만들려고합니다. 나는 지구상에서 총알을 쏠 수 있기를 원하며이 총알이 얼마나 빨리 빠지는 지에 따라 지구에서 탈출하거나 지구 주위의 궤도에 있거나 지구 표면에 240도 또는 45도에 착륙합니다. (가정하면 0도에서 총알이 발사 될 것임) 나는 많은 연구를했고 이미 뉴턴 등의 물리 법칙에 뛰어 들었다. 기본 applyforce는 충분히 정확하게 일을하지 않는 것 같다. 또한 궤도에 머물러있는 물체에 필요한 속도를 계산하는 수식을 발견했으며 box2d에서이 속도를 유지할 수있었습니다. 그러나 총알을 멈추고 싶으면 총알이 다시 땅에 떨어지지 않을 것입니다. (힘은 반경 중력에 사용되며 두 번째 적용 힘은 총알을 "오른쪽"으로 이동시키는 데 사용됩니다.) 궤도에 머물러 있습니다. 댐핑을 추가 할 때만 총알이 지구로 떨어지지 만 이것은 나에게 잘못된 것처럼 보입니다. 총알이 다른 것과 충돌하면 축축 해집니다.box2d를 사용하여 정확한 궤도 중력을 만드는 방법에 대한 아이디어가 있으십니까?

여기에서 주요 문제는 총알의 속도를 수정하는 것입니다. 총알이 도착하려면 x 시간이 걸립니다 : 180도. 지구 표면에서 탄환이 얼마나 멀리 떨어져 있느냐에 따라, 같은 시간에 180도 착륙하는 속도가 더 빨라집니다. 속도가 정확하게 정확한 반경 방향 중력을 만드는 열쇠라고 생각합니다.하지만 제 질문은 있습니다. 이게 사실이야, 너희들은 어떻게 생각하니, 누구나 비슷한 시나리오가 있니? 감쇠 및 setlinearvelocity를 사용하지 않고 가장 적절한 방법으로 속도를 제어하는 ​​방법은 무엇입니까 ??

나는 또한 총알 궤도, 도주 또는 땅에 다시 착륙시키는 데 필요한 속도를 제어 할 수 있기를 원합니다. 궤도 속도를 계산하는 수식이 있기 때문에 가능해야합니다. 예. 그것이 잘못되면, 총알이 너무 빨리 움직이고, 지구에서 탈출 할 것이지만, 지구의 중력이 총알의 경로를 수정하기 때문에 뒤로 움직일 것입니다.

Btw : 저는 인터넷에서 많은 검색을 했었지만 실용적인 box2d 코드에 그 물건을 연결할 수는 없으므로 누군가가 올바른 방향을 가리킬 수 있기를 바랍니다. 친절하게 생각합니다!

+0

"댐핑을 추가 할 때만 총알이 지구로 떨어지 겠지만 이것은 나에게 잘못된 것처럼 보입니다." 외관상으로는 진짜 인공위성에 끌기의 작은 총계가있다, 그래서 저에게 바르게 보인다. http://www.aero.org/capabilities/cords/faq1.html 죄송합니다. 더 이상 도와 드릴 수 없습니다 :) – iforce2d

+0

흠 ... 흥미 롭습니다. 우주 공간에 공기 저항은 없지만 ... 이것은 감각을 만듭니다. , 물론 ...이 또한 중력 법칙을 설명합니다 ... (물체는 힘없이 직선으로 영원히 움직입니다) ... gues에서는 감속 대 속도를 조정하고 균형을 잡습니다. . 이길 때까지. 속도를 줄이기 위해 필요한 댐핑을 계산할 수있는 공식이 있습니까? 말하자면, 나는 2 초 안에 10에서 5로 속도를 줄이고 싶습니다. 감쇠비는 어떻게되어야합니까? 이 링크를 가리키는 Thnx ... !! :-) – stationX

+0

-2.5m/s/s, f = ma의 가속도가되므로 2 초 동안 질량 * 2.5의 ApplyForce를 얻을 수 있습니다. 댐핑은 매 시간마다 신체의 속도를 줄이므로 계산하기가 쉽지 않습니다. – iforce2d

답변

3

발견했습니다. http://www.emanueleferonato.com/2012/03/28/simulate-radial-gravity-also-know-as-planet-gravity-with-box2d-as-seen-on-angry-birds-space/은 ActionScript3 용 Box2D를 사용하여 방사형 중력 (행성 중력)을 수행하는 훌륭한 예를 보여 주었지만 C++ 용 Box2D로 쉽게 이식 할 수 있습니다. 다른 트릭을 수행하기위한 몇 가지 Box2D 예제가 있습니다.

+0

이봐, 대답은 thnx! 예, 좋은 출발점입니다. 나는 iOS에서 이것을 할 수 있었다. 그러나이 예제에서이 상자를 궤도에 놓거나 지구에 부드럽게 착륙시키는 것은 매우 어렵다는 것을 알았습니다! 상자를 만들면 행성의 중력장에서 쉽게 벗어날 수 있습니다. 이는 내가 원하는 것만은 아닙니다. 그 상자는 어쨌든 '포착'되어야합니다. ABS에서는 그 새가 행성 둘레에서 두 번째 라운드에서 무언가를 칠 수 있다는 것을 알 수 있습니다. 어쨌든 .... 나는 궤도 공식을 사용하여 궤도 효과를 재현하기 위해 box2d에서 간단한 댐핑을 시도했다. – stationX

+0

이봐, 나는 당신이 필요로하는 물건으로 그 예를 향상시키기 위해 당신의 링크를 사용했다. http : // www.mvfusion.nl/no-this-is-not-going-to-be-angry-birds-space-v2/ 나는 궤도 중력의 효과를 재현 할 수있는 방법을 발견했다고 생각하거나 ... :-) – stationX

+0

문제는 box2d의 일반적인 선형 중력과 같이 개체가 휴지 위치를 찾지 못하게하는 것입니다. 이는 '파편'개체가 많은 경우 문제가됩니다. – SpoonMeiser

관련 문제