Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
Assigns the area to a descendant of GodotObject, so it can exist in the node tree.
Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
Creates an Area.
Gets the instance ID of the object the area is assigned to.
Returns an area parameter value. A list of available parameters is on the AREA_PARAM_* constants.
Returns the RID of the nth shape of an area.
Returns the number of shapes assigned to an area.
Returns the transform matrix of a shape within an area.
Returns the space assigned to the area.
Returns the space override mode for the area.
Returns the transform matrix for an area.
If true area collides with rays.
Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
Assigns the area to one or many physics layers.
Sets which physics layers the area will monitor.
Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters: 1: AREA_BODY_ADDED or AREA_BODY_REMOVED, depending on whether the object entered or exited the area. 2: RID of the object that entered/exited the area. 3: Instance ID of the object that entered/exited the area. 4: The shape index of the object that entered/exited the area. 5: The shape index of the area where the object entered/exited.
Sets the value for an area parameter. A list of available parameters is on the AREA_PARAM_* constants.
Sets object pickable with rays.
Substitutes a given area shape by another. The old shape is selected by its index, the new one by its RID.
Sets the transform matrix for an area shape.
Assigns a space to the area.
Sets the space override mode for the area. The modes are described in the constants AREA_SPACE_OVERRIDE_*.
Sets the transform matrix for an area.
Adds a body to the list of bodies exempt from collisions.
Adds a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
Gives the body a push at a position in the direction of the impulse.
Gives the body a push to rotate it.
Assigns the area to a descendant of GodotObject, so it can exist in the node tree.
Removes all shapes from a body.
Creates a physics body. The first parameter can be any value from constants BODY_MODE*, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
Returns the physics layer or layers a body belongs to.
Returns the physics layer or layers a body can collide with. -
Returns the PhysicsDirectBodyState of the body.
Returns the maximum contacts that can be reported. See bodySetMaxContactsReported.
Returns the body mode.
Gets the instance ID of the object the area is assigned to.
Returns the value of a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
Returns the RID of the nth shape of a body.
Returns the number of shapes assigned to a body.
Returns the transform matrix of a body shape.
Returns the RID of the space assigned to a body.
Returns a body state.
If true the continuous collision detection mode is enabled.
Returns whether a body uses a callback function to calculate its own physics (see bodySetForceIntegrationCallback).
If true the body can be detected by rays
Removes a body from the list of bodies exempt from collisions. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
Sets the physics layer or layers a body belongs to.
Sets the physics layer or layers a body can collide with.
If true the continuous collision detection mode is enabled. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
Sets the function used to calculate physics for an object, if that object allows it (see bodySetOmitForceIntegration).
Sets the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
Sets the body mode, from one of the constants BODY_MODE*.
Sets whether a body uses a callback function to calculate its own physics (see bodySetForceIntegrationCallback).
Sets a body parameter. A list of available parameters is on the BODY_PARAM_* constants.
Sets the body pickable with rays if enabled is set.
Substitutes a given body shape by another. The old shape is selected by its index, the new one by its RID.
Sets the transform matrix for a body shape.
Assigns a space to the body (see createSpace).
Sets a body state (see BODY_STATE* constants).
Gets a cone_twist_joint parameter (see CONE_TWIST_JOINT* constants).
Sets a cone_twist_joint parameter (see CONE_TWIST_JOINT* constants).
Destroys any of the objects created by PhysicsServer. If the RID passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console.
Gets a generic_6_DOF_joint flag (see G6DOF_JOINT_FLAG* constants).
Gets a generic_6_DOF_joint parameter (see G6DOF_JOINT* constants without the G6DOF_JOINT_FLAG*).
Sets a generic_6_DOF_joint flag (see G6DOF_JOINT_FLAG* constants).
Sets a generic_6_DOF_joint parameter (see G6DOF_JOINT* constants without the G6DOF_JOINT_FLAG*).
Returns an Info defined by the ProcessInfo input given.
Gets a hinge_joint flag (see HINGE_JOINT_FLAG* constants).
Gets a hinge_joint parameter (see HINGE_JOINT* constants without the HINGE_JOINT_FLAG*).
Sets a hinge_joint flag (see HINGE_JOINT_FLAG* constants).
Sets a hinge_joint parameter (see HINGE_JOINT* constants without the HINGE_JOINT_FLAG*).
Creates a ConeTwistJoint.
Creates a Generic6DOFJoint.
Creates a HingeJoint.
Creates a PinJoint.
Creates a SliderJoint.
Gets the priority value of the Joint.
Returns the type of the Joint.
Sets the priority value of the Joint.
Returns position of the joint in the local space of body a of the joint.
Returns position of the joint in the local space of body b of the joint.
Gets a pin_joint parameter (see PIN_JOINT* constants).
Sets position of the joint in the local space of body a of the joint.
Sets position of the joint in the local space of body b of the joint.
Sets a pin_joint parameter (see PIN_JOINT* constants).
Activates or deactivates the 3D physics engine.
Creates a shape of type SHAPE_*. Does not assign it to a body or an area. To do so, you must use areaSetShape or bodySetShape.
Returns the shape data.
Returns the type of shape (see SHAPE_* constants).
Sets the shape data that defines its shape and size. The data to be passed depends on the kind of shape created shapeGetType.
Gets a slider_joint parameter (see SLIDER_JOINT* constants).
Gets a slider_joint parameter (see SLIDER_JOINT* constants).
Creates a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with areaSetSpace, or to a body with bodySetSpace.
Returns the state of a space, a PhysicsDirectSpaceState. This object can be used to make collision/intersection queries.
Returns the value of a space parameter.
Returns whether the space is active.
Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
Sets the value for a space parameter. A list of available parameters is on the SPACE_PARAM_* constants.
Server interface for low level physics access.
Everything related to physics in 3D.