PhysicsBody¶
Inherits: CollisionObject < Spatial < Node < Object
Inherited By: KinematicBody, PhysicalBone, RigidBody, StaticBody
Base class for all objects affected by physics in 3D space.
Description¶
PhysicsBody is an abstract base class for implementing a physics body. All *Body types inherit from it.
Tutorials¶
Properties¶
| int | collision_layer | 1 |
| int | collision_mask | 1 |
Methods¶
| void | add_collision_exception_with ( Node body ) |
| Array | get_collision_exceptions ( ) |
| bool | get_collision_layer_bit ( int bit ) const |
| bool | get_collision_mask_bit ( int bit ) const |
| void | remove_collision_exception_with ( Node body ) |
| void | set_collision_layer_bit ( int bit, bool value ) |
| void | set_collision_mask_bit ( int bit, bool value ) |
Property Descriptions¶
- int collision_layer
| Default | 1 |
| Setter | set_collision_layer(value) |
| Getter | get_collision_layer() |
The physics layers this area is in.
Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
- int collision_mask
| Default | 1 |
| Setter | set_collision_mask(value) |
| Getter | get_collision_mask() |
The physics layers this area scans for collisions.
Method Descriptions¶
- void add_collision_exception_with ( Node body )
Adds a body to the list of bodies that this body can’t collide with.
- Array get_collision_exceptions ( )
Returns an array of nodes that were added as collision exceptions for this body.
Returns an individual bit on the collision_layer.
Returns an individual bit on the collision_mask.
- void remove_collision_exception_with ( Node body )
Removes a body from the list of bodies that this body can’t collide with.
Sets individual bits on the collision_layer bitmask. Use this if you only need to change one layer’s value.
Sets individual bits on the collision_mask bitmask. Use this if you only need to change one layer’s value.