Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

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

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

RID[]

exclude

[]

float

margin

0.0

Vector3

motion

Vector3(0, 0, 0)

Resource

shape

RID

shape_rid

RID()

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)


Property Descriptions

bool collide_with_areas = false

  • void set_collide_with_areas ( bool value )

  • bool is_collide_with_areas_enabled ( )

If true, the query will take Area3Ds into account.


bool collide_with_bodies = true

  • void set_collide_with_bodies ( bool value )

  • bool is_collide_with_bodies_enabled ( )

If true, the query will take PhysicsBody3Ds into account.


int collision_mask = 4294967295

  • void set_collision_mask ( int value )

  • int get_collision_mask ( )

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 = []

  • void set_exclude ( RID[] value )

  • RID[] get_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

  • void set_margin ( float value )

  • float get_margin ( )

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()

  • void set_shape_rid ( RID value )

  • RID get_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:

GDScriptC#

  1. var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
  2. var radius = 2.0
  3. PhysicsServer3D.shape_set_data(shape_rid, radius)
  4. var params = PhysicsShapeQueryParameters3D.new()
  5. params.shape_rid = shape_rid
  6. # Execute physics queries here...
  7. # Release the shape when done with physics queries.
  8. PhysicsServer3D.free_rid(shape_rid)
  1. RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType.Sphere);
  2. float radius = 2.0f;
  3. PhysicsServer3D.ShapeSetData(shapeRid, radius);
  4. var params = new PhysicsShapeQueryParameters3D();
  5. params.ShapeRid = shapeRid;
  6. // Execute physics queries here...
  7. // Release the shape when done with physics queries.
  8. PhysicsServer3D.FreeRid(shapeRid);

Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

The queried shape’s transform matrix.