Class reference
PhysicsRayQueryParameters2D
Inherits RefCounted
Provides parameters for PhysicsDirectSpaceState2D.intersect_ray().
Description
By changing various properties of this object, such as the ray position, you can configure the parameters for PhysicsDirectSpaceState2D.intersect_ray().
Properties
bool collide_with_areas = false
bool collide_with_areas = falseIf true, the query will take Area2Ds into account.
bool collide_with_bodies = true
bool collide_with_bodies = trueIf true, the query will take PhysicsBody2Ds into account.
int collision_mask = 4294967295
int collision_mask = 4294967295The 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. Note: The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
Vector2 from = Vector2(0, 0)
Vector2 from = Vector2(0, 0)The starting point of the ray being queried for, in global coordinates.
bool hit_from_inside = false
bool hit_from_inside = falseIf true, the query will detect a hit when starting inside shapes. In this case the collision normal will be Vector2(0, 0). Does not affect concave polygon shapes.
Vector2 to = Vector2(0, 0)
Vector2 to = Vector2(0, 0)The ending point of the ray being queried for, in global coordinates.
Methods
PhysicsRayQueryParameters2D create(Vector2 from, Vector2 to, int collision_mask = 4294967295, RID[] exclude = []) static
PhysicsRayQueryParameters2D create(Vector2 from, Vector2 to, int collision_mask = 4294967295, RID[] exclude = []) staticReturns a new, pre-configured PhysicsRayQueryParameters2D object. Use it to quickly create query parameters using the most common options.
var query = PhysicsRayQueryParameters2D.create(global_position, global_position + Vector2(0, 100))
var collision = get_world_2d().direct_space_state.intersect_ray(query)