Up to date

This page is up to date for Godot 4.0. If you still find outdated information, please open an issue.

KinematicCollision3D

Inherits: RefCounted < Object

Collision data for PhysicsBody3D.move_and_collide collisions.

Description

Contains collision data for PhysicsBody3D.move_and_collide collisions. When a PhysicsBody3D is moved using PhysicsBody3D.move_and_collide, it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision3D object is returned.

This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response.

Methods

float

get_angle ( int collision_index=0, Vector3 up_direction=Vector3(0, 1, 0) ) const

Object

get_collider ( int collision_index=0 ) const

int

get_collider_id ( int collision_index=0 ) const

RID

get_collider_rid ( int collision_index=0 ) const

Object

get_collider_shape ( int collision_index=0 ) const

int

get_collider_shape_index ( int collision_index=0 ) const

Vector3

get_collider_velocity ( int collision_index=0 ) const

int

get_collision_count ( ) const

float

get_depth ( ) const

Object

get_local_shape ( int collision_index=0 ) const

Vector3

get_normal ( int collision_index=0 ) const

Vector3

get_position ( int collision_index=0 ) const

Vector3

get_remainder ( ) const

Vector3

get_travel ( ) const


Method Descriptions

float get_angle ( int collision_index=0, Vector3 up_direction=Vector3(0, 1, 0) ) const

Returns the collision angle according to up_direction, which is Vector3.UP by default. This value is always positive.


Object get_collider ( int collision_index=0 ) const

Returns the colliding body’s attached Object given a collision index (the deepest collision by default).


int get_collider_id ( int collision_index=0 ) const

Returns the unique instance ID of the colliding body’s attached Object given a collision index (the deepest collision by default). See Object.get_instance_id.


RID get_collider_rid ( int collision_index=0 ) const

Returns the colliding body’s RID used by the PhysicsServer3D given a collision index (the deepest collision by default).


Object get_collider_shape ( int collision_index=0 ) const

Returns the colliding body’s shape given a collision index (the deepest collision by default).


int get_collider_shape_index ( int collision_index=0 ) const

Returns the colliding body’s shape index given a collision index (the deepest collision by default). See CollisionObject3D.


Vector3 get_collider_velocity ( int collision_index=0 ) const

Returns the colliding body’s velocity given a collision index (the deepest collision by default).


int get_collision_count ( ) const

Returns the number of detected collisions.


float get_depth ( ) const

Returns the colliding body’s length of overlap along the collision normal.


Object get_local_shape ( int collision_index=0 ) const

Returns the moving object’s colliding shape given a collision index (the deepest collision by default).


Vector3 get_normal ( int collision_index=0 ) const

Returns the colliding body’s shape’s normal at the point of collision given a collision index (the deepest collision by default).


Vector3 get_position ( int collision_index=0 ) const

Returns the point of collision in global coordinates given a collision index (the deepest collision by default).


Vector3 get_remainder ( ) const

Returns the moving object’s remaining movement vector.


Vector3 get_travel ( ) const

Returns the moving object’s travel before collision.