PhysicsRayQueryParameters2D

Наследует: RefCounted < Object

Предоставляет параметры для PhysicsDirectSpaceState2D.intersect_ray().

Описание

Изменяя различные свойства этого объекта, такие как положение луча, можно настроить параметры для PhysicsDirectSpaceState2D.intersect_ray().

Свойства

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

Vector2

from

Vector2(0, 0)

bool

hit_from_inside

false

Vector2

to

Vector2(0, 0)

Методы

PhysicsRayQueryParameters2D

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


Описания свойств

bool collide_with_areas = false 🔗

  • void set_collide_with_areas(value: bool)

  • bool is_collide_with_areas_enabled()

Если true, запрос будет учитывать Area2D.


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

Если true, запрос будет учитывать PhysicsBody2D.


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Слои физики, которые запрос обнаружит (как битовую маску). По умолчанию обнаруживаются все слои столкновений. Для получения дополнительной информации см. Слои и маски столкновений в документации.


Array[RID] exclude = [] 🔗

Список RID объектов, которые будут исключены из столкновений. Используйте CollisionObject2D.get_rid(), чтобы получить RID, связанный с узлом, производным от CollisionObject2D.

Примечание: Возвращаемый массив копируется, и любые изменения в нем не обновят исходное значение свойства. Чтобы обновить значение, вам нужно изменить возвращаемый массив, а затем снова назначить его свойству.


Vector2 from = Vector2(0, 0) 🔗

Начальная точка запрашиваемого луча в глобальных координатах.


bool hit_from_inside = false 🔗

  • void set_hit_from_inside(value: bool)

  • bool is_hit_from_inside_enabled()

Если true, запрос обнаружит попадание при запуске внутри фигур. В этом случае нормаль столкновения будет Vector2(0, 0). Не влияет на вогнутые полигоны фигур.


Vector2 to = Vector2(0, 0) 🔗

Конечная точка запрашиваемого луча в глобальных координатах.


Описания метода

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

Возвращает новый, предварительно настроенный объект PhysicsRayQueryParameters2D. Используйте его для быстрого создания параметров запроса с использованием наиболее распространенных опций.

var query = PhysicsRayQueryParameters2D.create(global_position, global_position + Vector2(0, 100))
var collision = get_world_2d().direct_space_state.intersect_ray(query)