2011-12-08 3 views
1

고정 된 거리를두고 분리 된 두 개의 box2d 본체를 함께 결합하려고합니다. 두 몸체는 스스로 회전 할 수 없으며 조인도 회전해야합니다. 신체 사이의 간격은 다른 신체가 통과 할 수 있도록해야합니다. 관절이 완전히 단단하지 않고 몸이 서로 공정한 비트 상대의 주위에 이동하는 경향이있다 그러나2 개의 box2D 본체를 안전하게 고정하기

b2RevoluteJointDef rjd; 
rjd.lowerAngle = 0.0f; 
rjd.upperAngle = 0.0f; 
rjd.Initialize(body2, body1, body2->GetPosition()); 
rjd.collideConnected = false; 
world->CreateJoint(&rjd); 

:

나는 현재 b2revoluteJoint 설정과 같이 있습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

나는 또한 내가 모두 몸이 중복 될 필요가 가정으로 작동하지 않았다 이는 b2WeldJoint을 시도 ...

편집 :

내가 노력하신 b2WeldJoint은 다음과 같습니다

b2WeldJointDef wj; 
wj.Initialize(body1, body2, body1->GetWorldCenter()); 
world->CreateJoint(&wj); 

그러나 내가 한 몸체를 움직일 때, 다른 몸체는 그 위치에 머문다.

답변

0

나는 또한 내가 모두 몸이 중복 될 필요가 가정으로하는이 내가 아는 한 ...

작동하지 않았다 b2WeldJoint을 시도, 몸의 모양이 반드시 필요 없어 중복. 용접 설정은 모든 상대적인 이동 및 회전을 금지하므로 용접 조인트가 적절합니다.

+0

Constantinius, 예제를 b2WeldJoint로 업데이트했습니다. 성공적으로 시도하지 못했습니다. – Alex

+0

용접 조인트 사용이 나에게 맞는 것 같습니다. 두 가지 모양을 만들어 하나의 몸에 추가하려고 했습니까? – Constantinius