Work in progress
Godot documentation is being updated to reflect the latest changes in version
4.0
. Some documentation pages may
still state outdated information. This banner will tell you if you're reading one of such pages.
The contents of this page are up to date. If you can still find outdated information, please open an issue.
PhysicsShapeQueryParameters2D¶
Inherits: RefCounted < Object
Parameters to be sent to a 2D shape physics query.
Description¶
This class contains the shape and other parameters for PhysicsDirectSpaceState2D intersection/collision queries.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
Property Descriptions¶
bool collide_with_areas = false
If true
, the query will take Area2Ds into account.
bool collide_with_bodies = true
If true
, the query will take PhysicsBody2Ds into account.
int collision_mask = 4294967295
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See Collision layers and masks in the documentation for more information.
RID[] exclude = []
The list of object RIDs that will be excluded from collisions. Use CollisionObject2D.get_rid to get the RID associated with a CollisionObject2D-derived node.
float margin = 0.0
The collision margin for the shape.
Vector2 motion = Vector2(0, 0)
The motion of the shape being queried for.
Resource shape
The Shape2D that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over shape_rid.
RID shape_rid
The queried shape's RID that will be used for collision/intersection queries. Use this over shape if you want to optimize for performance using the Servers API:
var shape_rid = PhysicsServer2D.circle_shape_create()
var radius = 64
PhysicsServer2D.shape_set_data(shape_rid, radius)
var params = PhysicsShapeQueryParameters2D.new()
params.shape_rid = shape_rid
# Execute physics queries here...
# Release the shape when done with physics queries.
PhysicsServer2D.free_rid(shape_rid)
RID shapeRid = PhysicsServer2D.CircleShapeCreate();
int radius = 64;
PhysicsServer2D.ShapeSetData(shapeRid, radius);
var params = new PhysicsShapeQueryParameters2D();
params.ShapeRid = shapeRid;
// Execute physics queries here...
// Release the shape when done with physics queries.
PhysicsServer2D.FreeRid(shapeRid);
Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0)
void set_transform ( Transform2D value )
Transform2D get_transform ( )
The queried shape's transform matrix.