ジョイントは リジッドボディ を他のリジッドボディ、または空間の固定された点に接続します。ジョイントはリジッドボディを動かす力を加え、ジョイントの制限はその動きを制限します。ジョイントはリジッドボディに以下の自由度を与えます。
ツイスト軸とスイング軸の機能を含む PhysX システムのジョイントの詳細については、NVIDIA PhysX のドキュメント: Joints を参照してください。
Unity では以下のジョイントのコンポーネントが用意されており、Rigidbody コンポーネントにさまざまな力と制限を加えることで、それらのボディにさまざまな動きを与えます。
| プロパティ: | 機能: |
|---|---|
| Character Joint | 股関節や肩のようなボールとソケットの関節を模倣します。リジッドボディの動きをすべての直線の自由度に沿って拘束し、すべての角度の自由度を可能にします。Character Joint に取り付けられた Rigidbody は、各軸を中心に動き、共通の原点を中心にピボットします。 |
| Configurable Joint | ラグドールのような、あらゆる骨格のジョイントを模倣します。このジョイントを設定することで、任意の自由度でリジッドボディの動きを強制したり制限したりすることができます。 |
| Fixed Joint | アタッチ先のリジッドボディの動きに追従するように、リジッドボディの動きを制限します。これは、互いに簡単に分離するリジッドボディが必要な場合や、Transform の階層で親子化せずに 2 つのリジッドボディの動きを連結したい場合に便利です。 |
| Hinge Joint | リジッドボディを、他のリジッドボディや空間上の点に、共有された原点で取り付け、その原点の特定の軸を中心に回転させることができます。ドアや指の関節を模倣するのに便利です。 |
| Spring Joint | リジッドボディを互いに離しておき、その間の距離をわずかに引き伸ばします。スプリングは、2 つのアンカーポイントを同時に同じ位置へ引っ張ろうとする、弾性素材のように動作します。 |
2D のジョイントには、名前に 2D が付いています (例えば、Hinge Joint 2D)。2D ジョイントの概要については、Joints 2D のドキュメントを参照してください。
ジョイントには特定のエフェクトで利用可能な他のオプションもあります。例えば、Rigidbody から一定のしきい値以上の力が加わることでジョイントが壊れるように設定することができます。ジョイントの中には、接続するリジッドボディの間に発生する__駆動力__で、リジッドボディを自動的に動かすものもあります。
注意産業用アプリケーションを念頭にキネマティックチェーンを構築したい場合、例えば、リアルな物理挙動を持つロボットアームをシミュレートしたい場合は、ここで説明する通常のジョイントの代わりに、物理的連結 を使用する必要があります。