PhysicsShapeQueryParameters2D

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

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

Описание

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

Свойства

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

float

margin

0.0

Vector2

motion

Vector2(0, 0)

Resource

shape

RID

shape_rid

RID()

Transform2D

transform

Transform2D(1, 0, 0, 1, 0, 0)


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

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.

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


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

Граница столкновения для формы.


Vector2 motion = Vector2(0, 0) 🔗

Движение запрашиваемой формы.


Resource shape 🔗

Shape2D, который будет использоваться для запросов на столкновение/пересечение. Он хранит фактическую ссылку, которая позволяет избежать освобождения формы при использовании для запросов, поэтому всегда предпочитайте использовать его вместо shape_rid.


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

RID запрошенной формы, которая будет использоваться для запросов на столкновение/пересечение. Используйте это вместо shape, если вы хотите оптимизировать производительность с помощью API серверов:

var shape_rid = PhysicsServer2D.circle_shape_create()
var radius = 64
PhysicsServer2D.shape_set_data(shape_rid, radius)

var params = PhysicsShapeQueryParameters2D.new()
params.shape_rid = shape_rid

# Выполняйте физические запросы здесь...

# Освободите форму после завершения физических запросов.
PhysicsServer2D.free_rid(shape_rid)

Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗

Матрица преобразования запрашиваемой формы.