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
intupDirection
Vector3?If the parameter is null, then the default value is
new Vector3(0, 1, 0)
.
Returns
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
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
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
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
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
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
GetCollisionCount()
Returns the number of detected collisions.
public int GetCollisionCount()
Returns
GetDepth()
Returns the colliding body's length of overlap along the collision normal.
public float GetDepth()
Returns
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
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
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
GetRemainder()
Returns the moving object's remaining movement vector.
public Vector3 GetRemainder()
Returns
GetTravel()
Returns the moving object's travel before collision.
public Vector3 GetTravel()
Returns
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_nameName of the method to check for.
Returns
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_nameName of the signal to check for.
Returns
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_nameName of the method to invoke.
args
NativeVariantPtrArgsArguments to use with the invoked method.
ret
godot_variantValue returned by the invoked method.