문제

MouseJoint를 사용하여 Box2D에서 몸체를 드래그합니다. 그러나 관성 지연이 발생합니다.

신체를 즉시 드래그하는 방법이 있습니까?

도움이 되었습니까?

해결책

솔루션은 B2MouseJointDef에서 특성 주파수 및 Dampingratio를 조정하는 것입니다.

예를 들어:

b2MouseJointDef md;
md.body1 = _groundBody;
md.body2 = body;
md.target = p;
md.maxForce = 10000.0f * body->GetMass();
md.dampingRatio = 0;
md.frequencyHz = 100;
_world->CreateJoint(&md);

다른 팁

Processing/Box2D 라이브러리에서 Pong 스타일 게임을 구현하려고 노력하고 있으며 같은 문제가 발생할 것으로 예상됩니다. 떠오르는 한 가지는 Box2D 세계에서 숨겨진 물체를 유지하는 것입니다. 하나는 조인트로 작동하는 기존 방식으로 작동하는 다음 프레임 지연없이 마우스를 따르는 가상 객체를 그립니다. 이것은 사용자를 속이는 데 적합 할 수 있습니다.

반면에, Box2D는 엄격한 물리 시뮬레이션이 아니며 겹치는 물체에서 용서를 허용하므로이를 수행 할 방법이 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top