Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
PhysicsShapeQueryParameters2D¶
Inherits: RefCounted < Object
Provides parameters for PhysicsDirectSpaceState2D.intersect_shape.
Description¶
By changing various properties of this object, such as the shape, you can configure the parameters for PhysicsDirectSpaceState2D.intersect_shape.
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 = 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.