PhysicsShapeQueryParameters3D

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

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

Описание

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

Свойства

bool

collide_with_areas

false

bool

collide_with_bodies

true

int

collision_mask

4294967295

Array[RID]

exclude

[]

float

margin

0.0

Vector3

motion

Vector3(0, 0, 0)

Resource

shape

RID

shape_rid

RID()

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)


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

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.

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


float margin = 0.0 🔗

  • void set_margin(value: float)

  • float get_margin()

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


Vector3 motion = Vector3(0, 0, 0) 🔗

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


Resource shape 🔗

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


RID shape_rid = RID() 🔗

  • void set_shape_rid(value: RID)

  • RID get_shape_rid()

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

var shape_rid = PhysicsServer3D.sphere_shape_create()
var radius = 2.0
PhysicsServer3D.shape_set_data(shape_rid, radius)

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

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

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

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

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