マウス ジョイントを作成しているときに、この用語が実際に何を意味するのかに出くわしました。
マウス ジョイントのドキュメント:-「マウス ジョイントは、指定されたワールド ポイントを追跡するボディ上のポイントを作成するために使用されます。これは、最大の力を持つソフト コンストレイントです。* これにより、大きな力を加えることなくコンストレイントを伸ばすことができます。」
マウス ジョイントを作成しているときに、この用語が実際に何を意味するのかに出くわしました。
マウス ジョイントのドキュメント:-「マウス ジョイントは、指定されたワールド ポイントを追跡するボディ上のポイントを作成するために使用されます。これは、最大の力を持つソフト コンストレイントです。* これにより、大きな力を加えることなくコンストレイントを伸ばすことができます。」
距離ジョイントがあるとしましょう。
b2DistanceJointDef DistJointDef;
周波数と減衰比を調整することで、バネのような効果を得ることができます。
DistJointDef.frequencyHz = 0.5f;
DistJointDef.dampingRatio = 0.5f;
FrequencyHz は、時間の経過とともに体がどれだけ伸縮するかを決定します。一方、dampingRation は、バネのような効果が持続する時間を決定します。
これらの原則は、マウスの関節にも適用されます。周波数と減衰比を変更して、同様の効果を得ることができます。
私の記憶が正しければ、ホイール ジョイントにもソフト拘束を適用できます。
これは、 Box2dManualからの主題に関するもう少しの情報です。
柔らかさは、定義内の 2 つの定数 (周波数と減衰比) を調整することによって実現されます。周波数は、調和振動子 (ギターの弦など) の周波数と考えてください。周波数はヘルツで指定されます。通常、周波数は時間ステップの周波数の半分未満にする必要があります。したがって、60Hz のタイム ステップを使用している場合、ディスタンス ジョイントの周波数は 30Hz 未満である必要があります。その理由は、ナイキスト周波数に関連しています。
減衰比は無次元で、通常は 0 から 1 の間ですが、それより大きくなる場合もあります。1 の場合、ダンピングは重要です (すべての振動が消失するはずです)。