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.

PhysicsRayQueryParameters2D

Inherits: RefCounted < Object

Parameters to be sent to a 2D ray physics query.

Description

This class contains the ray position and other parameters to be used for PhysicsDirectSpaceState2D.intersect_ray.

Properties

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

RID[]

exclude

[]

Vector2

from

Vector2(0, 0)

bool

hit_from_inside

false

Vector2

to

Vector2(0, 0)

Methods

PhysicsRayQueryParameters2D

create ( Vector2 from, Vector2 to, int collision_mask=4294967295, RID[] exclude=[] ) static


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 Area2Ds 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 PhysicsBody2Ds 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 CollisionObject2D.get_rid to get the RID associated with a CollisionObject2D-derived node.


Vector2 from = Vector2(0, 0)

The starting point of the ray being queried for, in global coordinates.


bool hit_from_inside = false

  • void set_hit_from_inside ( bool value )

  • bool is_hit_from_inside_enabled ( )

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

The ending point of the ray being queried for, in global coordinates.


Method Descriptions

PhysicsRayQueryParameters2D create ( Vector2 from, Vector2 to, int collision_mask=4294967295, RID[] exclude=[] ) static

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