固定距離で2つのbox2dボディを結合しようとしています。両方のボディーは自分自身を回転することはできません。また、ジョインも回転する必要があります。身体の間の隙間は、他の身体が通り抜けられるようにする必要があります。2つのbox2Dボディをしっかりと固定する
私は現在、そのようなb2revoluteJointの設定があります。関節は完全に剛性ではなく、体が相互に相対的な公正少し周りを移動する傾向があるしかし
b2RevoluteJointDef rjd;
rjd.lowerAngle = 0.0f;
rjd.upperAngle = 0.0f;
rjd.Initialize(body2, body1, body2->GetPosition());
rjd.collideConnected = false;
world->CreateJoint(&rjd);
を。これを行うより良い方法はありますか?
また、私は両方の体がオーバーラップする必要があると仮定して動作しませんでしたb2WeldJointは
EDIT ...試してみました:
私が試してみましたb2WeldJointは次のとおりです。
b2WeldJointDef wj;
wj.Initialize(body1, body2, body1->GetWorldCenter());
world->CreateJoint(&wj);
しかし、私が身体を動かすと、他の身体はその位置にとどまります。
Constantinius、b2WeldJointの例で私の質問を更新しましたが、私はうまくいきませんでした。 – Alex
あなたの溶接継手の使用は私にとって正しいようです。あなたは2つの図形を作って一つの体に加えようとしましたか? – Constantinius