その名のとおり、ジョイントはゲームオブジェクトをアタッチする機能です。Rigidbody 2D コンポーネントをアタッチしたゲームオブジェクトや、ワールド空間内の固定された位置にのみ 2D ジョイントをアタッチすることができます。
2D ジョイントはすべて、名称の最後に「2D」とあり、「2D」がない場合は 3D ジョイントです。2D ジョイントは 2D のゲームオブジェクトに使用し、3D ジョイントは 3D のゲームオブジェクトに使用します。
(2D ジョイントに関するバックグラウンド情報は、以下の詳細とヒントを参照してください)
さまざまなタイプの 2D ジョイントがあります。プロパティーについての詳細な情報は、各ジョイントのリファレンスページを参照してください。
Distance Joint 2D - リジッドボディ物理特性で制御された 2 つのゲームオブジェクトをアタッチし、オブジェクト間の一定の距離を保ちます。
Fixed Joint 2D - 二つの互いにつながったオブジェクトの相対位置を保ちます。そのため、これらのオブジェクトは、常に決められた位置と角度によってオフセットされます。例えば、オブジェクト同士が強固に接続されているかのように動く必要が有る場合に使います。互いに離れる事はできず、近づくこともできず、互いに対して回転する事もできません。また、このジョイントは、それほど強固でない柔軟な接続を作成するのにも利用できます。
Friction Joint 2D - リジッドボディ物理特性で制御されている 2 つのゲームオブジェクト間の線速度と角速度を 0 に減速します (つまり、それらのオブジェクトを減速し、静止させます)。 動きに抵抗しつつ回転するプラットフォームなどがその例です。
Hinge Joint 2D - リジッドボディ物理特性で制御されているゲームオブジェクトを、空間のある一点を中心に回転できるような点にアタッチします。はさみの支点などがその例です。
Relative Joint 2D - リジッドボディ物理特性に制御されている 2 つのゲームオブジェクトの位置を相対的に保ちます。このジョイントは、2 つのオブジェクトを互いにオフセットにするのに使用します。スペースシューティングゲームで、プレーヤーが追従する予備のガンバッテリーを持っているのがこの例です。
Slider Joint 2D - リジッドボディ物理特性で制御されているゲームオブジェクトを空間の線に沿ってスライドさせます。引き戸などがその例です。
Spring Joint 2D - リジッドボディ物理特性に制御されている 2 つのゲームオブジェクトを、バネで連結されているかのように動かします。
Target Joint 2D - 他のジョイントのように別のリジッドボディオブジェクトにアタッチせず、指定のターゲットにアタッチします。スプリングジョイントと同タイプで、例えば、オブジェクトを重力の影響で運動させるような場合に使用します。
Wheel Joint 2D - 車輪とサスペンションの動きを表現します。
制約
すべてのジョイントにおいて、リジッドボディ 2D の動きに適用できる一つ以上のコンストレイントが利用できます。コンストレイントとは、ジョイントが永久に壊れない事を保障する「規則」です。さまざまな種類のコンストレイントが可能ですが、1 つのジョイントにつき、たいていは 2–3、時には 1 つだけ設定されます。リジッドボディをライン上や、ある位置にとどまらせるように動きを制限するコンストレイントもあれば、モーターのように、あるスピードを維持しようと、リジッドボディオブジェクトを回転させたり、動かしたりする「動的」なコンストレイントもあります。
一時的な制約破壊
物理システムは、コンストレイントが一時的に壊れそうになるのを予測します。例えば、オブジェクトがコンストレイントされた距離よりも遠くに移動しようとする場合や、モータースピードコンストレイントよりも速く移動しようとする場合などです。コンストレイントが壊れない状態なら、ジョイントには力がかからないので、大した影響はありません。コンストレイントが壊れそうな時には、それを修正する力がジョイントに働きます。上記で述べた ‘driving’ のコンストレイントの場合は、距離を維持したりモータースピードを確保しようとします。ただし、この力は、いつでも瞬時にコンストレイントを修正するわけではありません。たいていは、瞬時に修正しますが、時間と共に修正されることもあります。
このタイムラグがジョイントを「ストレッチ」させたり、「やわらかく」見せたりします。タイムラグは、物理システムが制約を修正するために、ジョイントに力を加えることによって発生します。一方で、同時に制約を壊そうする他のゲーム内物理力もあります。ゲームオブジェクトには相反する力が作用するのに加えて、ジョイントの中には、他より安定していてより早く反応するものがあります。
ジョイントにどんな制約が使われようと、ジョイントは制約を修正するのに、フォースしか使えません。フォースは、線状 (直線的) か角度 (トルク) どちらかです。
ヒント ジョイントに相反する力を作用させて、ジョイントがアタッチされているリジッドボディオブジェクトに大きな力を働かせる場合、特に大規模なものである場合は、常に注意深く行ってください。
永久に壊れたジョイント
すべてのジョイントには、直線力と角度トルク力が指定された範囲を超えると、完全に動きを停止する機能 (ブレーク) があります。これらは、 ブレークフォース と ブレークトルク です。
両方とも制限範囲はデフォルトで Infinity (制限なし) に設定されています。
ブレークフォース や ブレークトルク が制限範囲を超えると、ジョイントは壊れ、コンポーネントはゲームから自己消滅します。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.