Rigidbody2D
Provides physics movement and other dynamics, and the ability to attach Collider2D to it.
Read time 10 minutesLast updated 5 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.Physics2DModule
- Inherits from: Component
[RequireComponent(typeof(Transform))]public sealed class Rigidbody2D : Component
Remarks
The Rigidbody2D is a fundamental physics component that provides multiple simulation dynamics, such as Rigidbody2D.position and Rigidbody2D.rotation for pose control, and Rigidbody2D.linearVelocity and Rigidbody2D.angularVelocity for velocity control.
You can attach multiple Collider2D to a Rigidbody2D to detect collisions and provide a collision response when you set Rigidbody2D.bodyType to RigidbodyType2D.Dynamic.
Properties
Property | Description |
|---|---|
| angularDamping | The angular damping of the Rigidbody2D angular velocity. |
| angularVelocity | Angular velocity in degrees per second. |
| attachedColliderCount | Returns the number of Collider2D attached to this Rigidbody2D. |
| bodyType | The physical behaviour type of the Rigidbody2D. |
| centerOfMass | The center of mass of the rigidBody in local space. |
| collisionDetectionMode | The method used by the physics engine to check if two objects have collided. |
| constraints | Controls which degrees of freedom are allowed for the simulation of this Rigidbody2D. |
| excludeLayers | The additional Layers that all Collider2D attached to this Rigidbody2D should exclude when deciding if a contact with another Collider2D should happen or not. |
| freezeRotation | Controls whether physics will change the rotation of the object. |
| gravityScale | The degree to which this object is affected by gravity. |
| includeLayers | The additional Layers that all Collider2D attached to this Rigidbody2D should include when deciding if a contact with another Collider2D should happen or not. |
| inertia | The Rigidbody's resistance to changes in angular velocity (rotation). |
| interpolation | Physics interpolation used between updates. |
| linearDamping | The linear damping of the Rigidbody2D linear velocity. |
| linearVelocity | The linear velocity of the Rigidbody2D represents the rate of change over time of the Rigidbody2D position in world-units. |
| linearVelocityX | The X component of the linear velocity of the Rigidbody2D in world-units per second. |
| linearVelocityY | The Y component of the linear velocity of the Rigidbody2D in world-units per second. |
| localToWorldMatrix | The transformation matrix used to transform the Rigidbody2D to world space. |
| mass | Mass of the Rigidbody. |
| position | The position of the rigidbody. |
| rotation | The rotation of the rigidbody. |
| sharedMaterial | The PhysicsMaterial2D that is applied to all Collider2D attached to this Rigidbody2D. |
| simulated | Indicates whether the rigid body should be simulated or not by the physics system. |
| sleepMode | The sleep state that the rigidbody will initially be in. |
| totalForce | The total amount of force that has been explicitly applied to this Rigidbody2D since the last physics simulation step. |
| totalTorque | The total amount of torque that has been explicitly applied to this Rigidbody2D since the last physics simulation step. |
| useAutoMass | Should the total rigid-body Rigidbody2D.mass be automatically calculated from the Collider2D.density of attached colliders? |
| useFullKinematicContacts | Should kinematic/kinematic and kinematic/static collisions be allowed? |
| worldCenterOfMass | Gets the center of mass of the rigidBody in global space. |
Methods
Method | Description |
|---|---|
| AddForce | Apply a force to the rigidbody. |
| AddForceAtPosition | Apply a force at a given position in space. |
| AddForceX | Adds a force to the X component of the Rigidbody2D.linearVelocity only leaving the Y component of the world space Rigidbody2D.linearVelocity untouched. |
| AddForceY | Adds a force to the Y component of the Rigidbody2D.linearVelocity only leaving the X component of the world space Rigidbody2D.linearVelocity untouched. |
| AddRelativeForce | Adds a force to the local space Rigidbody2D.linearVelocity. In other words, the force is applied in the rotated coordinate space of the Rigidbody2D. |
| AddRelativeForceX | Adds a force to the X component of the Rigidbody2D.linearVelocity in the local space of the Rigidbody2D only leaving the Y component of the local space Rigidbody2D.linearVelocity untouched. |
| AddRelativeForceY | Adds a force to the Y component of the Rigidbody2D.linearVelocity in the local space of the Rigidbody2D only leaving the X component of the local space Rigidbody2D.linearVelocity untouched. |
| AddTorque | Apply a torque at the rigidbody's centre of mass. |
| Cast | All the Collider2D shapes attached to the Rigidbody2D are cast into the Scene starting at each Collider position ignoring the Colliders attached to the same Rigidbody2D. |
| ClosestPoint | Returns a point on the perimeter of all enabled Colliders attached to this Rigidbody that is closest to the specified |
| Distance | Calculates the minimum distance of this |
| GetAttachedColliders | Returns all Collider2D that are attached to this Rigidbody2D. |
| GetContactColliders | Retrieves all colliders in contact with this Rigidbody, with the results filtered by the |
| GetContacts | Retrieves all Colliders in contact with any of the Collider(s) attached to this Rigidbody. |
| GetPoint | Get a local space point given the point |
| GetPointVelocity | The velocity of the rigidbody at the point |
| GetRelativePoint | Get a global space point given the point |
| GetRelativePointVelocity | The velocity of the rigidbody at the point |
| GetRelativeVector | Get a global space vector given the vector |
| GetShapes | Gets all the PhysicsShape2D used by all Collider2D attached to the Rigidbody2D. |
| GetVector | Get a local space vector given the vector |
| IsAwake | Is the rigidbody "awake"? |
| IsSleeping | Is the rigidbody "sleeping"? |
| IsTouching | Checks whether the |
| IsTouchingLayers | Checks whether any of the collider(s) attached to this rigidbody are touching any colliders on the specified |
| MovePosition | Moves the rigidbody to |
| MovePositionAndRotation | Moves the rigidbody position to |
| MoveRotation | Rotates the Rigidbody to |
| Overlap | Get a list of all Colliders that overlap all Colliders attached to this Rigidbody2D. |
| OverlapPoint | Check if any of the Rigidbody2D colliders overlap a point in space. |
| SetRotation | Sets the rotation of the Rigidbody2D to |
| Sleep | Make the rigidbody "sleep". |
| Slide | Slide the Rigidbody2D using the specified |
| WakeUp | Disables the "sleeping" state of a rigidbody. |
Structs
Struct | Description |
|---|---|
| Rigidbody2D.SlideMovement | The configuration that controls how a Rigidbody2D.Slide method behaves. |
| Rigidbody2D.SlideResults | The results of a slide movement performed with Rigidbody2D.Slide. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |