Table of Contents

Class KinematicCollision3D

Namespace
Godot
Assembly
GodotSharp.dll

Holds collision data from the movement of a PhysicsBody3D, usually from MoveAndCollide(Vector3, bool, float, bool, int). When a PhysicsBody3D is moved, it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision3D object is returned.

The collision data includes the colliding object, the remaining motion, and the collision position. This data can be used to determine a custom response to the collision.

public class KinematicCollision3D : RefCounted, IDisposable
Inheritance
KinematicCollision3D
Implements
Inherited Members

Constructors

KinematicCollision3D()

public KinematicCollision3D()

Methods

GetAngle(int, Vector3?)

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

public float GetAngle(int collisionIndex = 0, Vector3? upDirection = null)

Parameters

collisionIndex int
upDirection Vector3?

If the parameter is null, then the default value is new Vector3(0, 1, 0).

Returns

float

GetCollider(int)

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

public GodotObject GetCollider(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

GodotObject

GetColliderId(int)

Returns the unique instance ID of the colliding body's attached GodotObject given a collision index (the deepest collision by default). See GetInstanceId().

public ulong GetColliderId(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

ulong

GetColliderRid(int)

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

public Rid GetColliderRid(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

Rid

GetColliderShape(int)

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

public GodotObject GetColliderShape(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

GodotObject

GetColliderShapeIndex(int)

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

public int GetColliderShapeIndex(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

int

GetColliderVelocity(int)

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

public Vector3 GetColliderVelocity(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

Vector3

GetCollisionCount()

Returns the number of detected collisions.

public int GetCollisionCount()

Returns

int

GetDepth()

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

public float GetDepth()

Returns

float

GetLocalShape(int)

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

public GodotObject GetLocalShape(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

GodotObject

GetNormal(int)

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

public Vector3 GetNormal(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

Vector3

GetPosition(int)

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

public Vector3 GetPosition(int collisionIndex = 0)

Parameters

collisionIndex int

Returns

Vector3

GetRemainder()

Returns the moving object's remaining movement vector.

public Vector3 GetRemainder()

Returns

Vector3

GetTravel()

Returns the moving object's travel before collision.

public Vector3 GetTravel()

Returns

Vector3

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool