KinematicCollision3D
Holds collision data from the movement of a PhysicsBody3D
.
class KinematicCollision3D
Holds collision data from the movement of a PhysicsBody3D
, usually from moveAndCollide(motion:testOnly:safeMargin:recoveryAsCollision:maxCollisions:)
. 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.
Superclasses
class RefCounted
Base class for reference-counted objects.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Type members
Instance members
func getAngle(collisionIndex: Int32, upDirection: Vector3
) -> Double Returns the collision angle according to
upDirection
, which isVector3.UP
by default. This value is always positive.func getCollider(collisionIndex: Int32
) -> Object? Returns the colliding body’s attached
Object
given a collision index (the deepest collision by default).func getColliderId(collisionIndex: Int32
) -> UInt Returns the unique instance ID of the colliding body’s attached
Object
given a collision index (the deepest collision by default). SeegetInstanceId
.func getColliderRid(collisionIndex: Int32
) -> RID Returns the colliding body’s
RID
used by thePhysicsServer3D
given a collision index (the deepest collision by default).func getColliderShape(collisionIndex: Int32
) -> Object? Returns the colliding body’s shape given a collision index (the deepest collision by default).
func getColliderShapeIndex(collisionIndex: Int32
) -> Int32 Returns the colliding body’s shape index given a collision index (the deepest collision by default). See
CollisionObject3D
.func getColliderVelocity(collisionIndex: Int32
) -> Vector3 Returns the colliding body’s velocity given a collision index (the deepest collision by default).
func getCollisionCount(
) -> Int32 Returns the number of detected collisions.
func getDepth(
) -> Double Returns the colliding body’s length of overlap along the collision normal.
func getLocalShape(collisionIndex: Int32
) -> Object? Returns the moving object’s colliding shape given a collision index (the deepest collision by default).
func getNormal(collisionIndex: Int32
) -> Vector3 Returns the colliding body’s shape’s normal at the point of collision given a collision index (the deepest collision by default).
func getPosition(collisionIndex: Int32
) -> Vector3 Returns the point of collision in global coordinates given a collision index (the deepest collision by default).
func getRemainder(
) -> Vector3 Returns the moving object’s remaining movement vector.
func getTravel(
) -> Vector3 Returns the moving object’s travel before collision.