Slider Joint 2D
Target Joint 2D

Spring Joint 2D

Spring Joint 2D コンポーネントにより二つのゲームオブジェクトがバネでつながったような物理挙動に制御されます。スプリングは二つのオブジェクトの軸に沿って力を加えて、その間の距離を一定に保ちます。

プロパティー: 説明:
Enable Collision つながった二つのオブジェクトが互いに衝突させる場合、チェックを入れます。
Connected Rigid Body このジョイントと繋げる他のオブジェクトを指定します。このプロパティーを None のままにすると、ほかのジョイントの端は Connected Anchor 設定で定義した空間上の点に固定されます。このフィールドの右にある円を選択し、接続するオブジェクトのリストを表示してください。
Auto Configure Connected Anchor このボックスをチェックするとアンカーの場所は自動的にこのジョイントが繋がっている他のオブジェクトに設定されます。( Connected Anchor フィールドを手動で調節する代わりにこのボックスにチェックを入れてください。)
Anchor (X, Y が連携して RigidBody に対処することに関して) このオブジェクトに 接続するジョイントの端の場所。
Connected Anchor (X, Y が連携して RigidBody に対処することに関して) 他のオブジェクトに 接続するジョイントの端の場所
Auto Configure Distance このボックスを選択すると、2つのオブジェクト間の距離を自動的に距離を検知し、ジョイントがそれを維持します。
Distance 二つのオブジェクト間でバネが保持すべき距離(手動でも設定できます)
Damping Ratio どのくらいスプリングの振動を抑制するか。 0 から 1 の値を取り、値が高いほどに動きが少なくなります。
Frequency オブジェクトが指定した分離距離へと近づいている間のスプリングが振動する頻度(単位はサイクル毎秒です)。範囲は 0 から 1,000,000 で、値が高いほどにスプリングが硬くなります。
Break Force 結合を解き、ジョイントを削除するのに必要な力のレベルを指定してください。Infinity は解除できないという意味です。

詳細

( Joints 2D も参照してください。すべての 2D ジョイントに関する有用な背景情報の 詳細とヒント が得られます。)

このジョイントはスプリングのように振る舞います。目的は2点間の直線距離を維持することです。この設定は Distance から変更できます。それら2点は Rigidbody2D コンポーネントを持つオブジェクト2つか、Rigidbody2D コンポーネントと空間上の固定位置で指定できます。(空間上の固定位置には Connected Rigidbody を None に指定することで接続できます)。ジョイントは直線的な力を両方のリジッドボディに適用し、トルク(回転力)は適用しません。

ジョイントは疑似スプリングを使用します。スプリングの硬さと動きを下記のようにして設定できます。

硬く、ほとんど動かないスプリングの場合

  • Frequency を高く (1,000,000 が最高です) 設定すると、スプリングが硬くなります。

  • Damping Ratio を高く (1 が最高です) 設定すると、スプリングがほぼ動かなくなります。

緩く、よく動くスプリング

  • Frequency を低く設定すると、スプリングが緩くなります。

  • Damping Ratio を低く設定すると、スプリングがよく動くようになります。

スプリングがオブジェクト間で力を適用すると、設定した距離を通り越し、継続的に振動しながら何度も跳ね返ることが多いです。Damping Ratio はオブジェクトがどのくらい素早く動きを止めるかを設定します。Frequency はオブジェクトがどのくらい素早くターゲットの距離を両側から抑制するかを設定します。

このジョイントには1つ制限があります。

  • 2つのリジッドボディ上のアンカーポイント間の直線距離を0に維持します。

例:

このジョイントを使用すると、スプリングや接続を用いてお互いに繋がっているかのように反応し、回転もできる物理オブジェクトを構成できます。例えば、

  • 半剛体のように振る舞う複数のオブジェクトで構成された身体のキャラクターを作成できます。キャラクターのボディパーツを接続させるのに Spring Joint を使用し、お互いのパーツに対して柔軟な動きができるようにします。ボディパーツを緩く結合させるか、硬く結合させるを指定できます。

ヒント:

  • Frequency を 0 にすると特殊なことが起こります。つまり、最も硬いスプリングになるのです。
  • Spring Joint 2D は Box 2D spring-joint を使用します。 Distance Joint 2D も Box 2D spring-joint を使用していますが、こちらは Frequency を 0 に設定しています。技術的には Spring Joint 2D の Frequency を 0 に設定し、 Damping を 1 に設定すると Distance Joint 2D と同一のものになります。
Slider Joint 2D
Target Joint 2D