PhysicsBody3D
Abstract base class for 3D game objects affected by physics.
PhysicsBody3D.swift:14class PhysicsBody3D
PhysicsBody3D
is an abstract base class for 3D game objects affected by physics. All 3D physics bodies inherit from it.
Superclasses
class CollisionObject3D
Abstract base class for 3D physics 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
var axisLockAngularX: Bool
Lock the body’s rotation in the X axis.
var axisLockAngularY: Bool
Lock the body’s rotation in the Y axis.
var axisLockAngularZ: Bool
Lock the body’s rotation in the Z axis.
var axisLockLinearX: Bool
Lock the body’s linear movement in the X axis.
var axisLockLinearY: Bool
Lock the body’s linear movement in the Y axis.
var axisLockLinearZ: Bool
Lock the body’s linear movement in the Z axis.
func addCollisionExceptionWith(body: Node?
) Adds a body to the list of bodies that this body can’t collide with.
func getCollisionExceptions(
) -> ObjectCollection<PhysicsBody3D> Returns an array of nodes that were added as collision exceptions for this body.
func moveAndCollide(motion: Vector3, testOnly: Bool, safeMargin: Double, recoveryAsCollision: Bool, maxCollisions: Int32
) -> KinematicCollision3D? Moves the body along the vector
motion
. In order to be frame rate independent in_physicsProcess(delta:)
or_process(delta:)
,motion
should be computed usingdelta
.func removeCollisionExceptionWith(body: Node?
) Removes a body from the list of bodies that this body can’t collide with.
func testMove(from: Transform3D, motion: Vector3, collision: KinematicCollision3D?, safeMargin: Double, recoveryAsCollision: Bool, maxCollisions: Int32
) -> Bool Checks for collisions without moving the body. In order to be frame rate independent in
_physicsProcess(delta:)
or_process(delta:)
,motion
should be computed usingdelta
.
Subclasses
class CharacterBody3D
A 3D physics body specialized for characters moved by script.
class PhysicalBone3D
A physics body used to make bones in a
Skeleton3D
react to physics.class RigidBody3D
A 3D physics body that is moved by a physics simulation.
class StaticBody3D
A 3D physics body that can’t be moved by external forces. When moved manually, it doesn’t affect other bodies in its path.