PhysicsShapeQueryParameters3D¶
Inherits: RefCounted < Object
Provides parameters for PhysicsDirectSpaceState3D.intersect_shape.
Description¶
By changing various properties of this object, such as the shape, you can configure the parameters for PhysicsDirectSpaceState3D.intersect_shape.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Property Descriptions¶
bool collide_with_areas = false
If true
, the query will take Area3Ds into account.
bool collide_with_bodies = true
If true
, the query will take PhysicsBody3Ds 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 CollisionObject3D.get_rid to get the RID associated with a CollisionObject3D-derived node.
float margin = 0.0
The collision margin for the shape.
Vector3 motion = Vector3(0, 0, 0)
The motion of the shape being queried for.
Resource shape
The Shape3D 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 = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
var radius = 2.0
PhysicsServer3D.shape_set_data(shape_rid, radius)
var params = PhysicsShapeQueryParameters3D.new()
params.shape_rid = shape_rid
# Execute physics queries here...
# Release the shape when done with physics queries.
PhysicsServer3D.free_rid(shape_rid)
RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType.Sphere);
float radius = 2.0f;
PhysicsServer3D.ShapeSetData(shapeRid, radius);
var params = new PhysicsShapeQueryParameters3D();
params.ShapeRid = shapeRid;
// Execute physics queries here...
// Release the shape when done with physics queries.
PhysicsServer3D.FreeRid(shapeRid);
Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
void set_transform ( Transform3D value )
Transform3D get_transform ( )
The queried shape's transform matrix.