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