Legacy Documentation: Version 2018.1 (Go to current version)
2D Joints
Fixed Joint 2D
Other Versions

Distance Joint 2D

Switch to Scripting

Distance Joint 2D is a 2D joint that attaches two GameObjects controlled by Rigidbody 2D physics, and keeps them a certain distance apart.

Property: Function:
Enable Collision Check this box to enable collision between the two connected GameObjects.
Connected Rigid Body Use this field to specify the other GameObject that this Distance Joint 2D connects to. If ths is left as None (Rigidbody 2D), the other end of the Distance Joint 2D is fixed at a point in space defined by the Connected Anchor setting. Select the circle to the right of the field to view a list of GameObjects to connect to.
Auto Configure Connected Anchor Check this box to automatically set the anchor location for the other GameObject this Distance Joint 2D connects to. If you enable this, you don’t need to complete the Connected Anchor fields.
Anchor Define where (in terms of x, y co-ordinates on the Rigidbody 2D) the end point of the Distance Joint 2D connects to this GameObject.
Connected Anchor Define where (in terms of x, y co-ordinates on the Rigidbody 2D) the end point of the Distance Joint 2D connects to the other GameObject.
Auto Configure Distance Check this box to automatically detect the current distance between the two GameObjects, and set it as the distance that the Distance Joint 2D keeps between the two GameObjects. If you enable this, you don’t need to complete the Distance field.
Distance Specify the distance that the Distance Joint 2D keeps between the two GameObjects.
Max Distance Only If enabled, the Distance Joint 2D only enforces a maximum distance, so the connected GameObjects can still move closer to each other, but not further than the Distance field defines. If this is not enabled, the distance between the GameObjects is fixed.
Break Force Specify the force level needed to break and therefore delete the Distance Joint 2D. Infinity means it is unbreakable.

Notes

The aim of this Joint 2D is to keep distance between two points. Those two points can be two Rigidbody 2D components or a Rigidbody 2D component and a fixed position in the world. To connect a Rigidbody 2D component to a fixed position in the world, set the Connected Rigidbody field to None.

This Joint 2D does not apply torque, or rotation. It does apply a linear force to both connected items, using a very stiff, simulated spring to maintain the distance. You cannot configure the spring.

This Joint 2D has a selectable constraint:

  • Constraint A: Maintains a fixed distance between two anchor points on two bodies (when Max Distance Only is unchecked).
  • Constraint B: Maintains maximum distance only between two anchor points on two bodies (when Max Distance Only is checked).

You can use this Joint 2D to construct physical objects that need to behave as if they are connected with a rigid connection that can rotate.

  • Using constraint A (Max Distance Only unchecked), you can create a fixed length connection, such as two wheels on a bicycle.
  • Using constraint B (Max Distance Only checked), you can create a constrained length connection, such as a yo-yo moving towards and away from a hand.

See Joints 2D: Details and Hints for useful background information on all 2D Joints.

对文档有任何疑问,请移步至开发者社区提问,我们将尽快为您解答