問題タブ [box2d-joints]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
931 参照

java - Java Libgdx - Box2d setTransform 複数のボディをジョイントで変換する

いくつかのジョイント(ホイールジョイント、プリズムジョイント、回転ジョイント)が取り付けられたボディのグループがあります

メソッドsetTransformを使用して、その体のグループを位置に移動しようとしています

1 つの体だけをその位置に移動することにし、他の体は関節のために従う必要があります。

奇妙な結果が得られます。体が転がり始め、どこにも移動しません。本当に奇妙な結果です。説明する画像を次に示します。

ここに画像の説明を入力

setTransform を使用して、ジョイントで取り付けられた複数のボディをある位置に移動する方法は?

注 : 点 A から点 B (移動) まで、オブジェクトを介して障害物はありません。

0 投票する
1 に答える
111 参照

actionscript-3 - Citrus EngineでBox2Dを使って剣振り攻撃を生成してみる

ここ数日間、CitrusEngine の Box2DPhysicsObjects を適切に拡張してカスタム オブジェクトを生成する方法を見つけようとして、頭を壁にぶつけていました。私の目標は、この動作を生成することです: 望ましい動作の例

これは、剣を振って攻撃するときに入力を使用して決定された方向にダッシュする私のヒーローをシミュレートするように設計されています。攻撃状態が発動するまで剣は「眠る」。

Box2D (特にジョイント) を適切に使用する方法について根本的な誤解があると思います。誰かが私を正しい方向に向けることができれば、私は永遠に感謝します. 現在のコードは壊れているため、実際には提供できません。

0 投票する
1 に答える
261 参照

c++ - ボディ間のBox2D階層接続

box2d には、ボディの任意の深いツリー構造があります。親ボディが何かと衝突すると、子も一緒に移動する必要があります。一方、衝突によって子が移動した場合、親に触れてはなりません。あるボディは、あるボディの親であり、同時に別のボディの子になることができます。

これを Box2D に実装する方法はありますか? ジョイントはすべて対称であるため、これを表現できるジョイントはないようです。

0 投票する
1 に答える
41 参照

box2d - Box2D: あるボディを別のボディにパッシブに接続するにはどうすればよいですか?

Box2D でジョイントを使用して、あるボディを別のボディに受動的に取り付けようとしています。例えば:

[B][A]

目標: A が B にアタッチするとき、B は常に A の左側にあります。他のボディは引き続き B と A の両方と衝突する必要がありますが、B が A に物理的な影響を与えることは望ましくありません。B は「重くなる」べきではありませんA.

問題: B は常に A を「重荷にします」。

複数の関節を試しました。Bの質量をゼロにしてみました。重力を無視するように B を設定してみました。

どうすればこれを機能させることができますか?

0 投票する
0 に答える
121 参照

javascript - Revolute joint with box2d web, wheel not turning around own axis

I am trying to use revolute joints in node.js server, but my wheel is not turining around its own axis but around body.

Here is my code:

Then when i press button up i set motor speed like this:

And wheel start rotation around the center of the body, but i want to rotate around it's own center.

This are the settings of body and wheel :

What am i doing wrong ? Or maybe i should use different box2d implementation. I am using box2d from: https://www.npmjs.com/package/box2dweb

0 投票する
1 に答える
145 参照

javascript - DampingRatio を Box2D と DistanceJoint で動作させる

Box2D for JavaScript でディスタンス ジョイントのスイングを永久に停止させるために、いくつかのプロジェクトで失敗しました。ボディの密度と、ダンピング レシオと離れたジョイント定義の周波数 Hz にどのような値を設定しても、結果として、一方の端を持ち上げると、もう一方の端が際限なく揺れます。スイングが小さくなり、数回スイングした後に停止するようにしたい。

ジョイントは機能しますが、ダンピングは機能しません。どんな助けでも大歓迎です。私が使用している Box2D へのリンクは次のとおりです: https://github.com/joelgwebber/bench2d/tree/master/js/Box2dWeb-2.1a.3

0 投票する
0 に答える
175 参照

java - Box2D WeldJoint が正しく機能しない

私の質問の前に、私の英語はとても冒険的です...

私の libgdx アプリケーションでは、Box2D を実装しました。だから私は世界を作成し、2 つのボディを追加します。最初の Body は、静的で、私の世界の真ん中で回転するボックスとして設定された PolygonShape です。2 番目のボディは、ダイナミックで最初のボディの上に落ちる単なる円です。落下する円がボックスと衝突すると、WeldJoint を作成し、円もボックスと一緒に回転することを期待します...しかし、約 20 度後、円はボックス内で回転を停止し、移動しませんもう...

ここに写真があります: 接着剤のように正しく機能します

別のもの: 箱の周りの回転を止める

私のコード:

そして私のレンダーループで:

悪いコードは無視してください。テスト用です...

ありがとう :)

0 投票する
1 に答える
431 参照

libgdx - box2dのソフト制約とは?

マウス ジョイントを作成しているときに、この用語が実際に何を意味するのかに出くわしました。

マウス ジョイントのドキュメント:-「マウス ジョイントは、指定されたワールド ポイントを追跡するボディ上のポイントを作成するために使用されます。これは、最大の力を持つソフト コンストレイントです。* これにより、大きな力を加えることなくコンストレイントを伸ばすことができます。」

0 投票する
0 に答える
42 参照

java - 処理でWheelJoint box2dを使って車を動かす

私は現在、処理中 (Java) のゲームのようなヒルクライム レーシングを使用しており、ライブラリの処理に box2d を使用しています。車、車輪、2 つの WheelJoint を定義しましたが、関数 accelerate() を呼び出しても、車はまったく動きません。wjArriere の motorSpeed の印刷をテストしましたが、実際には必要な値になっていますが、車は静止したままです。

問題の原因を特定できることを願っています。不明な点があれば、お気軽に質問してください。

これが私のコードです:

車のコンストラクター:

ボックス コンストラクター:

ホイール コンストラクター :

車を動かす関数: