Inherits: Object

Inherited By: Physics2DDirectBodyStateSW

Direct access object to a physics body in the Physics2DServer.


Provides direct access to a physics body in the Physics2DServer, allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See RigidBody2D._integrate_forces.


Property Descriptions


The body’s rotational velocity.


The inverse of the inertia of the body.


The inverse of the mass of the body.


The body’s linear velocity.


If true, this body is currently sleeping (not active).


The timestep (delta) used for the simulation.


The rate at which the body stops rotating, if there are not any other forces moving it.


The total gravity vector being currently applied to this body.


The rate at which the body stops moving, if there are not any other forces moving it.


The body’s transformation matrix.

Method Descriptions

  • void add_central_force ( Vector2 force )

Adds a constant directional force without affecting rotation.

Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates.

  • void add_torque ( float torque )

Adds a constant rotational force.

  • void apply_central_impulse ( Vector2 impulse )

Applies a directional impulse without affecting rotation.

Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the “_force” functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object’s origin.

  • void apply_torque_impulse ( float impulse )

Applies a rotational impulse to the body.

  • RID get_contact_collider ( int contact_idx ) const

Returns the collider’s RID.

  • int get_contact_collider_id ( int contact_idx ) const

Returns the collider’s object id.

  • Object get_contact_collider_object ( int contact_idx ) const

Returns the collider object. This depends on how it was created (will return a scene node if such was used to create it).

  • Vector2 get_contact_collider_position ( int contact_idx ) const

Returns the contact position in the collider.

  • int get_contact_collider_shape ( int contact_idx ) const

Returns the collider’s shape index.

  • Variant get_contact_collider_shape_metadata ( int contact_idx ) const

Returns the collided shape’s metadata. This metadata is different from Object.get_meta, and is set with Physics2DServer.shape_set_data.

  • Vector2 get_contact_collider_velocity_at_position ( int contact_idx ) const

Returns the linear velocity vector at the collider’s contact point.

  • int get_contact_count ( ) const

Returns the number of contacts this body has with other bodies.

Note: By default, this returns 0 unless bodies are configured to monitor contacts. See RigidBody2D.contact_monitor.

  • Vector2 get_contact_local_normal ( int contact_idx ) const

Returns the local normal at the contact point.

  • Vector2 get_contact_local_position ( int contact_idx ) const

Returns the local position of the contact point.

  • int get_contact_local_shape ( int contact_idx ) const

Returns the local shape index of the collision.

Returns the current state of the space, useful for queries.

  • void integrate_forces ( )

Calls the built-in force integration code.

doradoro's advice! Getters and Setters will be deprecated! Avoid their use!

Disclaimer: This page has been automaticaly and directly extracted from the official Godot Docs website, the 2020-03-07 at 01:36:46. It's the English Stable version because it's what most Godot users should use. The Copyright owners are Juan Linietsky, Ariel Manzur and the Godot community. CC-BY 3.0. Thanks for your patience and generosity.