Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


PhysicsHingeJoint

A joint where an anchor point on body B is fixed to an anchor point on body A. This joint allows relative rotation.
Read time 4 minutesLast updated 7 days ago

Definition

public readonly struct PhysicsHingeJoint : IEquatable<PhysicsHingeJoint>

Constructors

Constructor

Description

PhysicsHingeJoint(Unity.U2D.Physics.PhysicsHandle)Create a joint from a physics handle.
PhysicsHingeJoint(Unity.U2D.Physics.PhysicsJoint)Create a PhysicsHingeJoint from the specified base joint. The provided joint must be a joint type of PhysicsJoint.JointType.HingeJoint.

Properties

Property

Description

angleGet the current angle of the joint, in degrees.
bodyAThe first body the joint constrains.
bodyBThe second body the joint constrains.
callbackTargetGet/Set the Object that event callbacks for this joint will be sent to. Care should be taken with any Object assigned as a callback target that isn't a Object as this assignment will not in itself keep the object alive and can be garbage collected. To avoid this, you should have at least a single reference to the object in your code. To remove the object assigned here, set the callback target to NULL.
collideConnectedWhether the shapes on the pair of bodies can come into contact.
currentAngularSeparationErrorGet the current angular separation error for this joint, in degrees. This does not consider admissible movement.
currentConstraintForceGet the current constraint force used by the joint, usually in newtons.
currentConstraintTorqueGet the current constraint torque used by the joint, usually in newton-meters.
currentLinearSeparationErrorGet the current linear separation error for this joint, usually in meters. This does not consider admissible movement.
currentMotorTorqueGet the current motor torque.
definitionGet or set the joint definition. Reading returns the joint's current configuration, including _bodyA and _bodyB. Writing applies every configurable property in place but does not change the connected bodies, which are fixed when the joint is created.
drawScaleControls the scaling of the joint drawing.
enableLimitEnable/Disable the joint rotation limit.
enableMotorEnable/Disable the joint motor.
enableSpringEnable/Disable the rotational spring.
enableUnpinnedEnable/Disable unpinned mode where only Body A is affected and body B and its local anchor point is ignored. Body B must still be assigned so it is typical to assign a static ground body, preferably shared/reused.
forceThresholdThe force threshold beyond which a joint event will be produced.
isOwnedGet if the joint is owned. See PhysicsJoint.SetOwner.
isValidChecks if the joint is valid.
jointTypeGets the joint type. See PhysicsJoint.JointType.
localAnchorAThe local anchor frame constraint relative to bodyA's origin.
localAnchorBThe local anchor frame constraint relative to bodyB's origin.
lowerAngleLimitGet the lower angle limit, in degrees.
maxMotorTorqueThe maximum torque the motor can apply, usually in newton-meters.
motorSpeedThe desired motor speed, usually in degrees per second.
ownerUserDataGet PhysicsUserData that can be used for any purpose, typically by the owner only.
physicsHandleGet the physics handle.
springDampingThe spring damping, non-dimensional.
springFrequencyThe spring stiffness, in cycles per second.
springTargetAngleThe spring target angle, in degrees.
torqueThresholdThe torque threshold beyond which a joint event will be produced.
tuningDampingControls the joint stiffness damping, non-dimensional. Use 1 for critical damping.
tuningFrequencyControls the joint stiffness frequency, in cycles per second.
upperAngleLimitGet the upper angle limit, in degrees.
userDataGet/Set PhysicsUserData that can be used for any purpose. The physics system doesn't use this data, it is entirely for custom use.
worldGet the world the body is attached to.
worldDrawingControls whether this joint is automatically drawn when the world is drawn.

Methods

Method

Description

DestroyDestroy the joint. If the object is owned with PhysicsJoint.SetOwner then you must provide the owner key it returned. Failing to do so will return a warning and the joint will not be destroyed.
DrawDraw a PhysicsJoint that visually represents its current state in the world.
GetOwnerGet the owner object associated with this joint as specified using PhysicsJoint.SetOwner.
SetOwnerSet the (optional) owner object associated with this joint and return an owner key that must be specified when destroying the joint with PhysicsJoint.Destroy. The physics system provides access to all objects, including the ability to destroy them so this feature can be used to stop accidental destruction of objects that are owned by other objects. You can only set the owner once, multiple attempts will produce a warning. The lifetime of the specified owner object is not linked to this joint i.e. this joint will still be owned by the owner object, even if it is destroyed. It is also valid to not specify an owner object (NULL) to simply gain an owner key however it can be useful, if simply for debugging purposes and discovery, to know which object is the owner.
SetOwnerUserDataSet PhysicsUserData that can be used for any purpose, typically by the owner only.
WakeBodiesWake the pair of bodies the joint is constraining.

Static Methods

Method

Description

CreateCreate a PhysicsHingeJoint in the specified world.
DestroyBatchDestroy a batch of joints. Owned joints will produce a warning and will not be destroyed (see PhysicsJoint.SetOwner). Any invalid joints will be ignored.

Operators

Operator

Description

PhysicsJointCast to the base PhysicsJoint.
PhysicsHingeJointCast to a PhysicsHingeJoint from the base PhysicsJoint. The provided joint must be a joint type of PhysicsJoint.JointType.HingeJoint.