Box2D에서 하중 베어링을 계산하는 방법은 무엇입니까?
-
06-07-2019 - |
문제
Box2D (AS3/Flash 버전이 중요하다면)를 사용하고 있으며 각 신체가 운반하는 무게를 계산하려고합니다.
나는 모든 신체를 반복하는 방법을 알고 있으며, 콜리온 탐지 루틴을 폴링하는 방법을 알고 있지만, 체중이 적용되면 충돌력이 0으로 죽는 것 같습니다. 간과하고있는 일종의 "총 정적 힘"속성이 있습니까?
해결책
옵션 ContactListener 객체에서 Contactresult 유형을 사용하면 각 항목의 정상 강화를 조사하여 객체에 본질적으로 중량을 포함하는 힘을 찾을 수 있습니다.
수면체 (예 : 휴식 스택)는 Contactresults를 유발하지 않지만 수면을 끄거나 움직임이 발생하는 동안 만 힘을 측정하려는 경우 잘 작동합니다.
문서에서 ContactListener 클래스를 구현하는 방법에 대한 정보는 문서에서 확인하십시오.
다른 팁
내가 box2d와 함께 연주 한 이래로 시간이 지났지 만 폴링을 시도해 보았습니다. getReactionForce () 관심있는 것들에?
나는 브리지 시뮬레이션을 만들었을 때 브리지가 무게를 기준으로 부러지기를 원한다는 것을 알고 있습니다. getReactionForce () 그리고 그것이 특정 임계 값 이상이라면 두 바디를 연결하는 조인트를 삭제했습니다.
나는 당신이해야 할 일이 당신의 b2body 인스턴스를 통한 루프와 getmass() 방법.
"총 정적 힘"이 무엇을 의미하는지 잘 모르겠습니다.
체중/질량에 관해서는 충돌 전에 적용한다고 생각합니다. 신체를 만들 때 직접 설정하십시오. setmass(); 또는 Box2d가 모양을 기준으로 질량을 추정하여 setmassfromshapes() 방법.
HTH