2Dジョイントを使う

ℹ️ 留意事項

この記事は Godot 3から Godot 4 へ内容の書き換え中です。 Godot4では存在しない変数、関数が含まれている場合があります。もしその場合はリポジトリのIssuesまでご報告ください。

課題

GodotのJoint2Dノードについて理解したい。

解決策

ジョイントは、接続された物理オブジェクトの動きを制限するために使います。任意のジョイントノードには、PhysicsObject2D から拡張される2つのボディを結合が必要です。

プロパティ

これらのプロパティはすべての関節ノードに共通です。

  • Node A and Node B:割り当てられた物理ボディ
  • Bias:両オブジェクトが離れる方向に関節が引き寄せる速度。デフォルト値は 0 です
  • Disable Collisions:接続されたオブジェクト間の衝突を考慮しないようにできます。デフォルトは true(有効)です

以下の3種類の Joint2D があります。すべての例で、1つの RigidBody2D がジョイントを介して StaticBody2D に接続されています。画面で「コリジョン形状を表示」が有効化されているため、ジョイントの表現を確認できます。

PinJoint2D

「ピン接合」は、2つの部材を1点で接続し、自由に回転できるようにします。

alt alt

ピン接合部の Softness プロパティにより、接続にある程度の「弾力」が与えられます。この値はデフォルト値の 0(移動不可)から最大値 16 まで設定できます。

alt alt

DampedSpringJoint2D

この継手はスプリング状の力によって2つの部材を連結します。

alt alt

以下のプロパティでスプリングの挙動を調整できます。

  • Length : 関節の最大許容長値
  • Rest Length : 外力や運動が作用していない状態における関節の長さ
  • Stiffness : ばねの「伸びにくさ」、すなわち外力に対する抵抗強度を表す指標
  • Damping : ばねが「反発動作」を停止する速度特性を示すパラメータ

GrooveJoint2D

この関節は、接続された物体が直線的に移動するように制約します。

alt alt

デフォルトでは垂直方向に配置されますが、ノードを回転させることでこれを変更できます。

以下のプロパティは溝の動作を制御します。

  • Length:溝の全長。この最大距離を超える位置まで付属パーツは移動できません。
  • Initial Offset:溝に沿った起点となる「位置」です。

alt alt

関連するレシピ