PhysicsRayQueryParameters3D

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

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

Описание

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

Свойства

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

Vector3

from

Vector3(0, 0, 0)

bool

hit_back_faces

true

bool

hit_from_inside

false

Vector3

to

Vector3(0, 0, 0)

Методы

PhysicsRayQueryParameters3D

create(from: Vector3, to: Vector3, 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, запрос будет учитывать Area3D.


bool collide_with_bodies = true 🔗

  • void set_collide_with_bodies(value: bool)

  • bool is_collide_with_bodies_enabled()

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


int collision_mask = 4294967295 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

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


Array[RID] exclude = [] 🔗

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

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


Vector3 from = Vector3(0, 0, 0) 🔗

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


bool hit_back_faces = true 🔗

  • void set_hit_back_faces(value: bool)

  • bool is_hit_back_faces_enabled()

Если true, запрос будет попадать на задние грани с вогнутыми многоугольными формами с включенной задней гранью или формами карты высот.


bool hit_from_inside = false 🔗

  • void set_hit_from_inside(value: bool)

  • bool is_hit_from_inside_enabled()

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


Vector3 to = Vector3(0, 0, 0) 🔗

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


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

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

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

var query = PhysicsRayQueryParameters3D.create(position, position + Vector3(0, -10, 0))
var collision = get_world_3d().direct_space_state.intersect_ray(query)