Version: 2023.1
言語: 日本語
Distance Joint 2D
Friction Joint 2D

Fixed Joint 2D

Fixed Joint 2D を使って 2 つのオブジェクトにこのコンポーネントを適用すると、オブジェクトが互いに相対位置を維持しようとします。そのため、オブジェクトは常に指定された位置と角度を保って存在することになります。これは最大の力を設定する必要のないスプリング型の 2D ジョイントです。スプリングは固くも柔らかくも設定できます。

Fixed Joint 2DRelative Joint 2D の違いについては、Fixed Joint 2D と Relative Joint 2D の比較 を参照してください。

プロパティ 機能
Enable Collision このプロパティを有効にすると、つながれた 2 つのゲームオブジェクトの衝突が可能になります。
Connected Rigid Body このジョイントと接続するもう 1 つのオブジェクトを指定します。ここを None にすると、もう一方の端が、Connected Anchor プロパティによって定義された空間の点に固定されます。入力欄の右側にある丸いアイコンを選択すると、接続先オブジェクトのリストを見ることができます。
Auto Configure Connected Anchor このプロパティを有効にすると、このジョイントが接続する他のオブジェクトのアンカー位置が自動的に設定されます。このプロパティを有効にすると、Connected Anchor プロパティの座標を入力する必要はありません。
Anchor ジョイントの端点がこのゲームオブジェクトの (Rigidbody 2D の X、Y 座標の) どこに接続するかを定義します。
Connected Anchor ジョイントの終点が他のゲームオブジェクトに接続する位置 (Rigidbody 2D 上の x、y 座標) を定義します。
Damping Ratio スプリングの振動を抑える度合いを設定します。0 - 1 の範囲で、値が大きいほど動きが小さくなります。
Frequency ゲームオブジェクトが目的の分離距離に近づいていく間の、スプリングの振動周波数 (単位: 周/秒) を設定します。範囲は 0 - 1,000,000 で、値が高いほどスプリングが硬くなります。ノート: Frequency を 0 に設定すると、最も硬いスプリングになります。
Break Action 力またはトルクのしきい値を超えた時に実行されるアクションを設定します。
Break Force 力のしきい値を設定します。このしきい値を超えると、ジョイントが、選択された Break Action を実行します。デフォルト値は Infinity 設定されており、これは超えることができません。したがって、しきい値がこの値のままである場合は Break Action は実行できません。
Break Torque 力のしきい値を設定します。このしきい値を超えると、ジョイントが、選択された Break Action を実行します。デフォルト値は Infinity 設定されており、これは超えることができません。したがって、しきい値がこの値のままである場合は Break Action は実行できません。

このジョイントの使用

このジョイントの目的は 2 点間の相対的な直線距離と角度のずれを維持することです。その 2 点は Rigidbody2D コンポーネントを持つオブジェクト 2 つか、Rigidbody2D コンポーネントとワールド空間上の固定位置で指定できます (ワールド空間の固定位置には Connected Rigidbody を None に指定することで接続できます)。

直線距離と角度は、その 2 点が接続する点の相対的な位置と向きによります。そのため、つながっているゲームオブジェクトをシーンビューで移動させることで相対的直線距離と角度を変更できます。

ジョイントはつながっている Rigidbody 2D GameObject に直線と回転力両方の力を適用します。このジョイントはシミュレーションできるように硬く事前設定されている疑似スプリングを使用します。スプリングの値を変更できます。Frequency 設定を使うことでスプリングの働きを弱くすることができます。

スプリングがオブジェクトに力を適用するとオブジェクトの理想の距離を通り越し、リバウンドを繰り返して結果断続的に振動するということになりがちです。 Damping Ratio はどのくらい素早く振動を減らしてオブジェクトを止めるかを決定します。 Frequency は対象の距離の側からも振動する頻度です。つまり、Frequency の高さに比例してスプリングが硬くなります。

Fixed Joint 2D には以下のとおり 2 つの同時に満たさなければいけない制約があります。

  • 2 つの Rigidbody 2D GameObject のアンカーポイント 2 点間の相対的な直線距離の維持
  • 2 つの Rigidbody 2D GameObject のアンカーポイント 2 点間の相対的な角度の維持

このジョイントを使うと硬く繋がっているかのような反応をする物理オブジェクトを構築することができます。それらはお互いに離れることはできず、近づくことも回転することもできません。硬い部品で繋がった橋などが該当します。

ジョイントを使って、柔軟性のある少し柔らかい連結を作成することもできます。多少柔軟な部分のある橋などが該当します。

Fixed Joint 2D と Relative Joint 2D の比較

Fixed Joint 2D と Relative Joint 2D には以下のような違いがあります。

  • Fixed Joint 2D はスプリング型のジョイントです。Relative Joint 2D は最大の力と回転力の両方か、どちらかを持ったモーター型のジョイントです。
  • Fixed Joint 2D は直線、角度の相対的なずれを維持するのにスプリングを使い、Relative Joint 2D はモーターを使用します。ジョイントのスプリングかモーターを調節できます。
  • Fixed Joint 2D はアンカーポイントを伴って動作します (AnchoredJoint2D を継承します)。つまり、アンカー間の相対的な直線、角度を維持します。Relative Joint 2D にはアンカーポイントがありません (Joint2D を直接継承します)。
  • Fixed Joint 2D は相対的な直線と角度をリアルタイムで修正することができません。Relative Joint 2D では可能です。

その他の参考資料

  • 他の 2D ジョイントに関する詳細は、2D ジョイント を参照してください。

FixedJoint2D

Distance Joint 2D
Friction Joint 2D