Rigidbody 2D の物理エンジンに管理される 2つのオブジェクトにこのコンポーネントを適用すると、オブジェクトが互いに相対位置を維持しようとします。そのため、オブジェクトは常に指定された位置と角度を保って存在することになります。これは最大の力を設定する必要のないスプリング型の 2D ジョイントです。スプリングは固くも柔らかくも設定できます。
以下の Fixed Joint 2D と Relative Joint 2D で FixedJoint2D と RelativeJoint2D の違いについての詳細を説明します。
プロパティ | 機能 |
---|---|
Enable Collision | このチェックを有効にすると、接続された 2 つのオブジェクトが互いに衝突できるようになります。 |
Connected Rigid Body | このジョイントと繋げる他のオブジェクトを指定します。このプロパティを None のままにすると、ほかのジョイントの端は Connected Anchor 設定で定義した空間上の点に固定されます。接続するオブジェクトのリストを表示するには、このフィールドの右にある円を選択してください。 |
Auto Configure Connected Anchor | このボックスをチェックすると、この Fixed Joint 2D がつながっているもう 1方のオブジェクトのアンカー位置を自動的に設定します。これを有効にすると、 Connected Anchor フィールドを入力する必要はありません。 |
Anchor | Joint 2D の端が この ゲームオブジェクトに (Rigidbody 2D の X, Y 座標で) 接続する位置。 |
Connected Anchor | Fixed Joint 2D の端が他方のゲームオブジェクトに接続する (Rigidbody 2D の X, Y 座標上の) 位置 |
Damping Ratio | スプリングの振動を抑制する程度。 0 から 1 の値を取り、値が高いほど振動の抑制が速く行われます。 |
Frequency | オブジェクトが指定した分離距離へと近づいている間のスプリングが振動する頻度(単位はサイクル毎秒です)。範囲は 1 から 1,000,000 で、値が高いほどにスプリングが硬くなります。Frequency を 0 に設定すると、スプリングは完全に固まってしまいます。 |
Break Force | Joint 2D を解き、削除するのに必要な力のレベルを指定します。Infinity は解除できないことを意味します。 |
Break Torque | Joint 2D を解き、削除するのに必要な回転力 (Torque) のレベルを指定します。Infinity は解除できないことを意味します。 |
このジョイントの目的は 2点間の相対的な直線距離と角度のずれを維持することです。その 2点は Rigidbody2D コンポーネントを持つオブジェクト 2つか、Rigidbody2D コンポーネントとワールド空間上の固定位置で指定できます (ワールド空間の固定位置には Connected Rigidbody を None に指定することで接続できます)。
直線距離と角度は、その 2点が接続する点の相対的な位置と向きによります。そのため、つながっているゲームオブジェクトをシーンビューで移動させることで相対的直線距離と角度を変更できます。
ジョイントはつながっている Rigidbody 2D GameObject に直線と回転力両方の力を適用します。このジョイントはシミュレーションできるように硬く事前設定されている疑似スプリングを使用します。スプリングの値を変更できます。Frequency 設定を使うことでスプリングの働きを弱くすることができます。
スプリングがオブジェクトに力を適用するとオブジェクトの理想の距離を通り越し、リバウンドを繰り返して結果断続的に振動するということになりがちです。 Damping Ratio はどのくらい素早く振動を減らしてオブジェクトを止めるかを決定します。 Frequency は対象の距離の側からも振動する頻度です。つまり、Frequency の高さに比例してスプリングが硬くなります。
Fixed Joint 2D には以下のとおり 2 つの同時に満たさなければいけない制約があります。
このジョイントを使うと硬く繋がっているかのような反応をする物理オブジェクトを構築することができます。それらはお互いに離れることはできず、近づくことも回転することもできません。硬い部品で繋がった橋などが該当します。
ジョイントを使って、柔軟性のある少し柔らかい連結を作成することもできます。多少柔軟な部分のある橋などが該当します。
Fixed Joint 2D と Relative Joint 2D には以下のような違いがあります。
すべての 2D Joint に関する便利な情報は、2D ジョイント 詳細とヒント を参照してください。