PhysicsServer3D

Успадковує: Object

Успадковано від: PhysicsServer3DExtension

Інтерфейс сервера для фізичного доступу на низькому рівні 3D.

Опис

PhysicsServer3D — це сервер, який відповідає за всю 3D-фізику. Він може безпосередньо створювати та керувати всіма фізичними об’єктами:

  • Простір — це самодостатній світ для симуляції фізики. Він містить тіла, області та суглоби. Його стан можна запитувати для отримання інформації про зіткнення та перехрестя, а також можна змінити кілька параметрів моделювання.

  • Фігура — це геометрична фігура, наприклад сфера, прямокутник, циліндр або багатокутник. Його можна використовувати для виявлення зіткнень, додавши його до тіла/області, можливо, з додатковим перетворенням відносно походження тіла/області. До тіл/областей можна додати кілька (трансформованих) форм, а одну форму можна додавати до тіл/областей кілька разів за допомогою різних локальних трансформацій.

  • Тіло — це фізичний об'єкт, який може перебувати в статичному, кінематичному або твердому режимі. Його стан (наприклад, положення та швидкість) можна запитувати та оновлювати. Зворотний виклик інтеграції сили можна встановити для налаштування фізики тіла.

  • Область — це область у просторі, яка може бути використана для виявлення тіл і областей, які входять і виходять з неї. Можна налаштувати зворотний виклик моніторингу тіла, щоб повідомляти про вхід/вихід з форм тіла, і аналогічно можна встановити зворотний виклик моніторингу області. Силу тяжіння та демпфування можна перекрити в межах області, встановивши параметри області.

  • З’єднання — це зв’язок між двома тілами або одним тілом відносно точки. Можна регулювати такі параметри, як ухил з’єднання та довжина спокою пружинного з’єднання.

Фізичні об’єкти в PhysicsServer3D можна створювати та маніпулювати ними незалежно; вони не повинні бути прив'язані до вузлів у дереві сцени.

Примітка: усі вузли 3D фізики використовують внутрішній сервер фізики. Додавання вузла фізики до дерева сцени призведе до створення відповідного об’єкта фізики на сервері фізики. Вузол твердого тіла реєструє зворотний виклик, який оновлює перетворення вузла за допомогою перетворення відповідного об’єкта тіла на сервері фізики (кожне оновлення фізики). Вузол області реєструє зворотний виклик, щоб повідомити вузол області про перекриття з відповідним об’єктом області на сервері фізики. Вузол raycast запитує прямий стан відповідного простору на сервері фізики.

Методи

void

area_add_shape(area: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false)

void

area_attach_object_instance_id(area: RID, id: int)

void

area_clear_shapes(area: RID)

RID

area_create()

int

area_get_collision_layer(area: RID) const

int

area_get_collision_mask(area: RID) const

int

area_get_object_instance_id(area: RID) const

Variant

area_get_param(area: RID, param: AreaParameter) const

RID

area_get_shape(area: RID, shape_idx: int) const

int

area_get_shape_count(area: RID) const

Transform3D

area_get_shape_transform(area: RID, shape_idx: int) const

RID

area_get_space(area: RID) const

Transform3D

area_get_transform(area: RID) const

void

area_remove_shape(area: RID, shape_idx: int)

void

area_set_area_monitor_callback(area: RID, callback: Callable)

void

area_set_collision_layer(area: RID, layer: int)

void

area_set_collision_mask(area: RID, mask: int)

void

area_set_monitor_callback(area: RID, callback: Callable)

void

area_set_monitorable(area: RID, monitorable: bool)

void

area_set_param(area: RID, param: AreaParameter, value: Variant)

void

area_set_ray_pickable(area: RID, enable: bool)

void

area_set_shape(area: RID, shape_idx: int, shape: RID)

void

area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool)

void

area_set_shape_transform(area: RID, shape_idx: int, transform: Transform3D)

void

area_set_space(area: RID, space: RID)

void

area_set_transform(area: RID, transform: Transform3D)

void

body_add_collision_exception(body: RID, excepted_body: RID)

void

body_add_constant_central_force(body: RID, force: Vector3)

void

body_add_constant_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

body_add_constant_torque(body: RID, torque: Vector3)

void

body_add_shape(body: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false)

void

body_apply_central_force(body: RID, force: Vector3)

void

body_apply_central_impulse(body: RID, impulse: Vector3)

void

body_apply_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

body_apply_impulse(body: RID, impulse: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

body_apply_torque(body: RID, torque: Vector3)

void

body_apply_torque_impulse(body: RID, impulse: Vector3)

void

body_attach_object_instance_id(body: RID, id: int)

void

body_clear_shapes(body: RID)

RID

body_create()

int

body_get_collision_layer(body: RID) const

int

body_get_collision_mask(body: RID) const

float

body_get_collision_priority(body: RID) const

Vector3

body_get_constant_force(body: RID) const

Vector3

body_get_constant_torque(body: RID) const

PhysicsDirectBodyState3D

body_get_direct_state(body: RID)

int

body_get_max_contacts_reported(body: RID) const

BodyMode

body_get_mode(body: RID) const

int

body_get_object_instance_id(body: RID) const

Variant

body_get_param(body: RID, param: BodyParameter) const

RID

body_get_shape(body: RID, shape_idx: int) const

int

body_get_shape_count(body: RID) const

Transform3D

body_get_shape_transform(body: RID, shape_idx: int) const

RID

body_get_space(body: RID) const

Variant

body_get_state(body: RID, state: BodyState) const

bool

body_is_axis_locked(body: RID, axis: BodyAxis) const

bool

body_is_continuous_collision_detection_enabled(body: RID) const

bool

body_is_omitting_force_integration(body: RID) const

void

body_remove_collision_exception(body: RID, excepted_body: RID)

void

body_remove_shape(body: RID, shape_idx: int)

void

body_reset_mass_properties(body: RID)

void

body_set_axis_lock(body: RID, axis: BodyAxis, lock: bool)

void

body_set_axis_velocity(body: RID, axis_velocity: Vector3)

void

body_set_collision_layer(body: RID, layer: int)

void

body_set_collision_mask(body: RID, mask: int)

void

body_set_collision_priority(body: RID, priority: float)

void

body_set_constant_force(body: RID, force: Vector3)

void

body_set_constant_torque(body: RID, torque: Vector3)

void

body_set_enable_continuous_collision_detection(body: RID, enable: bool)

void

body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant = null)

void

body_set_max_contacts_reported(body: RID, amount: int)

void

body_set_mode(body: RID, mode: BodyMode)

void

body_set_omit_force_integration(body: RID, enable: bool)

void

body_set_param(body: RID, param: BodyParameter, value: Variant)

void

body_set_ray_pickable(body: RID, enable: bool)

void

body_set_shape(body: RID, shape_idx: int, shape: RID)

void

body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool)

void

body_set_shape_transform(body: RID, shape_idx: int, transform: Transform3D)

void

body_set_space(body: RID, space: RID)

void

body_set_state(body: RID, state: BodyState, value: Variant)

void

body_set_state_sync_callback(body: RID, callable: Callable)

bool

body_test_motion(body: RID, parameters: PhysicsTestMotionParameters3D, result: PhysicsTestMotionResult3D = null)

RID

box_shape_create()

RID

capsule_shape_create()

RID

concave_polygon_shape_create()

float

cone_twist_joint_get_param(joint: RID, param: ConeTwistJointParam) const

void

cone_twist_joint_set_param(joint: RID, param: ConeTwistJointParam, value: float)

RID

convex_polygon_shape_create()

RID

custom_shape_create()

RID

cylinder_shape_create()

void

free_rid(rid: RID)

bool

generic_6dof_joint_get_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag) const

float

generic_6dof_joint_get_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam) const

void

generic_6dof_joint_set_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag, enable: bool)

void

generic_6dof_joint_set_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam, value: float)

int

get_process_info(process_info: ProcessInfo)

RID

heightmap_shape_create()

bool

hinge_joint_get_flag(joint: RID, flag: HingeJointFlag) const

float

hinge_joint_get_param(joint: RID, param: HingeJointParam) const

void

hinge_joint_set_flag(joint: RID, flag: HingeJointFlag, enabled: bool)

void

hinge_joint_set_param(joint: RID, param: HingeJointParam, value: float)

void

joint_clear(joint: RID)

RID

joint_create()

void

joint_disable_collisions_between_bodies(joint: RID, disable: bool)

int

joint_get_solver_priority(joint: RID) const

JointType

joint_get_type(joint: RID) const

bool

joint_is_disabled_collisions_between_bodies(joint: RID) const

void

joint_make_cone_twist(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D)

void

joint_make_generic_6dof(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D)

void

joint_make_hinge(joint: RID, body_A: RID, hinge_A: Transform3D, body_B: RID, hinge_B: Transform3D)

void

joint_make_pin(joint: RID, body_A: RID, local_A: Vector3, body_B: RID, local_B: Vector3)

void

joint_make_slider(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D)

void

joint_set_solver_priority(joint: RID, priority: int)

Vector3

pin_joint_get_local_a(joint: RID) const

Vector3

pin_joint_get_local_b(joint: RID) const

float

pin_joint_get_param(joint: RID, param: PinJointParam) const

void

pin_joint_set_local_a(joint: RID, local_A: Vector3)

void

pin_joint_set_local_b(joint: RID, local_B: Vector3)

void

pin_joint_set_param(joint: RID, param: PinJointParam, value: float)

RID

separation_ray_shape_create()

void

set_active(active: bool)

Variant

shape_get_data(shape: RID) const

float

shape_get_margin(shape: RID) const

ShapeType

shape_get_type(shape: RID) const

void

shape_set_data(shape: RID, data: Variant)

void

shape_set_margin(shape: RID, margin: float)

float

slider_joint_get_param(joint: RID, param: SliderJointParam) const

void

slider_joint_set_param(joint: RID, param: SliderJointParam, value: float)

void

soft_body_add_collision_exception(body: RID, body_b: RID)

void

soft_body_apply_central_force(body: RID, force: Vector3)

void

soft_body_apply_central_impulse(body: RID, impulse: Vector3)

void

soft_body_apply_point_force(body: RID, point_index: int, force: Vector3)

void

soft_body_apply_point_impulse(body: RID, point_index: int, impulse: Vector3)

RID

soft_body_create()

AABB

soft_body_get_bounds(body: RID) const

int

soft_body_get_collision_layer(body: RID) const

int

soft_body_get_collision_mask(body: RID) const

float

soft_body_get_damping_coefficient(body: RID) const

float

soft_body_get_drag_coefficient(body: RID) const

float

soft_body_get_linear_stiffness(body: RID) const

Vector3

soft_body_get_point_global_position(body: RID, point_index: int) const

float

soft_body_get_pressure_coefficient(body: RID) const

float

soft_body_get_shrinking_factor(body: RID) const

int

soft_body_get_simulation_precision(body: RID) const

RID

soft_body_get_space(body: RID) const

Variant

soft_body_get_state(body: RID, state: BodyState) const

float

soft_body_get_total_mass(body: RID) const

bool

soft_body_is_point_pinned(body: RID, point_index: int) const

void

soft_body_move_point(body: RID, point_index: int, global_position: Vector3)

void

soft_body_pin_point(body: RID, point_index: int, pin: bool)

void

soft_body_remove_all_pinned_points(body: RID)

void

soft_body_remove_collision_exception(body: RID, body_b: RID)

void

soft_body_set_collision_layer(body: RID, layer: int)

void

soft_body_set_collision_mask(body: RID, mask: int)

void

soft_body_set_damping_coefficient(body: RID, damping_coefficient: float)

void

soft_body_set_drag_coefficient(body: RID, drag_coefficient: float)

void

soft_body_set_linear_stiffness(body: RID, stiffness: float)

void

soft_body_set_mesh(body: RID, mesh: RID)

void

soft_body_set_pressure_coefficient(body: RID, pressure_coefficient: float)

void

soft_body_set_ray_pickable(body: RID, enable: bool)

void

soft_body_set_shrinking_factor(body: RID, shrinking_factor: float)

void

soft_body_set_simulation_precision(body: RID, simulation_precision: int)

void

soft_body_set_space(body: RID, space: RID)

void

soft_body_set_state(body: RID, state: BodyState, variant: Variant)

void

soft_body_set_total_mass(body: RID, total_mass: float)

void

soft_body_set_transform(body: RID, transform: Transform3D)

void

soft_body_update_rendering_server(body: RID, rendering_server_handler: PhysicsServer3DRenderingServerHandler)

RID

space_create()

PhysicsDirectSpaceState3D

space_get_direct_state(space: RID)

float

space_get_param(space: RID, param: SpaceParameter) const

bool

space_is_active(space: RID) const

void

space_set_active(space: RID, active: bool)

void

space_set_param(space: RID, param: SpaceParameter, value: float)

RID

sphere_shape_create()

RID

world_boundary_shape_create()


Переліки

enum JointType: 🔗

JointType JOINT_TYPE_PIN = 0

Joint3D є PinJoint3D.

JointType JOINT_TYPE_HINGE = 1

Joint3D є HingeJoint3D.

JointType JOINT_TYPE_SLIDER = 2

Joint3D є SliderJoint3D.

JointType JOINT_TYPE_CONE_TWIST = 3

Joint3D є ConeTwistJoint3D.

JointType JOINT_TYPE_6DOF = 4

Joint3D є Generic6DOFJoint3D.

JointType JOINT_TYPE_MAX = 5

Представляємо розмір об'єкта JointType.


enum PinJointParam: 🔗

PinJointParam PIN_JOINT_BIAS = 0

Міцність, за допомогою яких штифтовані об'єкти намагаються залишатися в позиційному відношенні один до одного.

Чим вище, тим сильніше.

PinJointParam PIN_JOINT_DAMPING = 1

Міцність, за допомогою яких штифтовані об'єкти намагаються залишатися у зв'язку зі швидкістю один до одного.

Чим вище, тим сильніше.

PinJointParam PIN_JOINT_IMPULSE_CLAMP = 2

Якщо вище 0, це значення є максимальним значенням для імпульсу, що цей Joint3D кладеться на його кінці.


enum HingeJointParam: 🔗

HingeJointParam HINGE_JOINT_BIAS = 0

Швидкість, з якою два тіла зближуються, коли вони рухаються в різних напрямках.

HingeJointParam HINGE_JOINT_LIMIT_UPPER = 1

Максимальне обертання через Hinge.

HingeJointParam HINGE_JOINT_LIMIT_LOWER = 2

Мінімальне обертання через Hinge.

HingeJointParam HINGE_JOINT_LIMIT_BIAS = 3

Швидкість, з якою коригується обертання поперек осі, перпендикулярної шарніру.

HingeJointParam HINGE_JOINT_LIMIT_SOFTNESS = 4

There is currently no description for this enum. Please help us by contributing one!

HingeJointParam HINGE_JOINT_LIMIT_RELAXATION = 5

Чим менше це значення, тим більше сповільнюється обертання.

HingeJointParam HINGE_JOINT_MOTOR_TARGET_VELOCITY = 6

Цільова швидкість для двигуна.

HingeJointParam HINGE_JOINT_MOTOR_MAX_IMPULSE = 7

Максимальний розгін для двигуна.


enum HingeJointFlag: 🔗

HingeJointFlag HINGE_JOINT_FLAG_USE_LIMIT = 0

Якщо true, Hinge має максимальне і мінімальне обертання.

HingeJointFlag HINGE_JOINT_FLAG_ENABLE_MOTOR = 1

Якщо true, мотор обертається Hinge.


enum SliderJointParam: 🔗

SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_UPPER = 0

Максимальна різниця між точками pivot на вісь X перед демппінгом.

SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_LOWER = 1

Мінімальна різниця між точками pivot на вісь X перед демппінгом.

SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS = 2

Важкий фактор, який наноситься на рух через вісь слайдера, як тільки обмеження надходять. Нижній, уповільнювач руху.

SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION = 3

Сума заміщення після того, як кордони надходять. Чим нижче, тим більша швидкість-енергія втрачається.

SliderJointParam SLIDER_JOINT_LINEAR_LIMIT_DAMPING = 4

Кількість демпферів, як тільки обмежені межі слайдера.

SliderJointParam SLIDER_JOINT_LINEAR_MOTION_SOFTNESS = 5

Фактор, який застосовується до руху по осі слайдера, до тих пір, поки слайдер знаходиться в межах. Нижній, уповільнювач руху.

SliderJointParam SLIDER_JOINT_LINEAR_MOTION_RESTITUTION = 6

Кількість заміщення в межах слайдера.

SliderJointParam SLIDER_JOINT_LINEAR_MOTION_DAMPING = 7

Кількість демпферів в межах слайдера.

SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS = 8

Фактори, що застосовуються до руху через ортогону токсинів до слайдера.

SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION = 9

Сума заміщення при русі здійснюється через ортогонал аксів до слайдера.

SliderJointParam SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING = 10

Кількість демпферів при русі через ортогонал аксеса до слайдера.

SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_UPPER = 11

Верхній ліміт обертання в слайдері.

SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_LOWER = 12

Нижній ліміт обертання в слайдері.

SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS = 13

Потрібний фактор, що застосовується до всіх обертань, коли межа надходить.

SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION = 14

Кількість заміни обертання при перевезенні ліміту.

SliderJointParam SLIDER_JOINT_ANGULAR_LIMIT_DAMPING = 15

Сума пошкодження обертання при надходженні ліміту.

SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS = 16

Фактори, який наноситься на всі обертання в межах.

SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION = 17

Кількість заміни обертання в межах.

SliderJointParam SLIDER_JOINT_ANGULAR_MOTION_DAMPING = 18

Кількість пошкоджень обертання в межах.

SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS = 19

Фактор, який наноситься на всі обертання через ортогонал токсинів до слайдера.

SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION = 20

Сума заміщення обертання за допомогою токсинів ортогонального до слайдера.

SliderJointParam SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING = 21

Сума пошкодження обертання через ортогону токсинів до слайдера.

SliderJointParam SLIDER_JOINT_MAX = 22

Представляємо розмір SliderJointParam enum.


enum ConeTwistJointParam: 🔗

ConeTwistJointParam CONE_TWIST_JOINT_SWING_SPAN = 0

Свінгер обертається збоку в сторону, навколо осі перпендикулярно до осі скручування.

Визначається гойдалка, скільки обертання не буде виправлено вздовж осі гойдалки.

Може бути визначений як сипучість в ConeTwistJoint3D.

Якщо нижче 0,05 ця поведінка закривається.

ConeTwistJointParam CONE_TWIST_JOINT_TWIST_SPAN = 1

Twist - обертання навколо осі скручіння, це значення визначає, як далеко від суглоба може скручуватися.

Twist закривається, якщо нижче 0,05.

ConeTwistJointParam CONE_TWIST_JOINT_BIAS = 2

Швидкість з якою буде проходити гойдалка або скручування.

Чим вище, тим швидше.

ConeTwistJointParam CONE_TWIST_JOINT_SOFTNESS = 3

Легкість, з якою закручується Joint3D, якщо вона занадто низька, вона змусить перекручувати суглоб.

ConeTwistJointParam CONE_TWIST_JOINT_RELAXATION = 4

Захищаючи, як швидко гойдалки і кручування-швидкість-дифункція з двох сторін отримує синхронний.


enum G6DOFJointAxisParam: 🔗

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_LOWER_LIMIT = 0

Мінімальна різниця між пальцями точок.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_UPPER_LIMIT = 1

Максимальна різниця між пальцями точок.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS = 2

Фактор, який наноситься на рух по осі. Нижній, уповільнювач руху.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_RESTITUTION = 3

Кількість заміщення на осі руху. Чим нижче, тим більша швидкість-енергія втрачається.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_DAMPING = 4

Кількість демпферів, що відбувається на лінійному русі по осі.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_MOTOR_TARGET_VELOCITY = 5

Швидкість, що лінійний двигун суглоба намагатиметься досягти.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT = 6

Максимальна сила, що лінійний двигун може застосовуватися при спробі досягнення цільової швидкості.

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_STIFFNESS = 7

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_DAMPING = 8

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_LINEAR_SPRING_EQUILIBRIUM_POINT = 9

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_LOWER_LIMIT = 10

Мінімальне обертання в негативному напрямку, щоб зламати пухкий і обертати навколо осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_UPPER_LIMIT = 11

Мінімальне обертання в позитивному напрямку, щоб зламати пухкий і обертати навколо осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS = 12

А фактор, який отримує багатоплічену на всі обертання по осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_DAMPING = 13

Кількість обертових демпферів по осі. Знизу виникає більша демпфера.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_RESTITUTION = 14

Кількість обертальної заміни по осі. Знизу відбувається більша заміна.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_FORCE_LIMIT = 15

Максимальна кількість сил, що може статися, при обертанні навколо осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_ERP = 16

При виправленні перетину лімітів в обертанні через осі, цей фактор толерантності до помилок визначає, скільки корекція уповільнюється. Нижній, уповільнювач.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY = 17

Цільова швидкість двигуна на осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT = 18

Максимальне прискорення двигуна на осі.

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_STIFFNESS = 19

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_DAMPING = 20

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_ANGULAR_SPRING_EQUILIBRIUM_POINT = 21

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisParam G6DOF_JOINT_MAX = 22

Представляє розмір G6DOFJointAxisParam enum.


enum G6DOFJointAxisFlag: 🔗

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT = 0

При встановленні лінійного руху можливо в межах зазначених лімітів.

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT = 1

При встановленні можливо обертальний рух.

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_ANGULAR_SPRING = 2

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_SPRING = 3

There is currently no description for this enum. Please help us by contributing one!

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_MOTOR = 4

Якщо встановити, є обертальний двигун через ці осі.

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR = 5

Якщо встановити, є лінійний двигун на цій осі, який спрямований на певну швидкість.

G6DOFJointAxisFlag G6DOF_JOINT_FLAG_MAX = 6

Представляє розмір G6DOFJointAxisFlag enum.


enum ShapeType: 🔗

ShapeType SHAPE_WORLD_BOUNDARY = 0

Shape3D є WorldBoundaryShape3D.

ShapeType SHAPE_SEPARATION_RAY = 1

Shape3D є SeparationRayShape3D.

ShapeType SHAPE_SPHERE = 2

Shape3D є СфераShape3D.

ShapeType SHAPE_BOX = 3

Shape3D є BoxShape3D.

ShapeType SHAPE_CAPSULE = 4

Shape3D є CapsuleShape3D.

ShapeType SHAPE_CYLINDER = 5

Shape3D є CylinderShape3D.

ShapeType SHAPE_CONVEX_POLYGON = 6

Shape3D є ConvexPolygonShape3D.

ShapeType SHAPE_CONCAVE_POLYGON = 7

Shape3D є ConcavePolygonShape3D.

ShapeType SHAPE_HEIGHTMAP = 8

Shape3D є HeightMapShape3D.

ShapeType SHAPE_SOFT_BODY = 9

Shape3D використовується внутрішньо для м'якого тіла. Будь-яка спроба створити цей вид результатів форми в похибці.

ShapeType SHAPE_CUSTOM = 10

Ця константа використовується внутрішньо двигуном. Будь-яка спроба створити цей вид результатів форми в похибці.


enum AreaParameter: 🔗

AreaParameter AREA_PARAM_GRAVITY_OVERRIDE_MODE = 0

Постійно / встановити режим перевитрату ваги в зоні. Див. AreaSpaceOverrideMode для можливих значень.

AreaParameter AREA_PARAM_GRAVITY = 1

Постійно встановити / встати сили тяжіння в зоні.

AreaParameter AREA_PARAM_GRAVITY_VECTOR = 2

Постійний набір / вектор ваги / центр в області.

AreaParameter AREA_PARAM_GRAVITY_IS_POINT = 3

Постійно встановити/забудити, чи є вектор сили тяжіння області, або центральна точка.

AreaParameter AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE = 4

Постійне встановлення/витратити дистанцію, на якій сила тяжіння дорівнює тяжінням, керованій AREA_PARAM_GRAVITY. Наприклад, на планеті 100 метрів в радіусі з поверхневою вагою 4,0 м/с2, встановлюють тяжіння до 4.0 і відстань агрегату до 100.0. Тяжіння буде відхиляти відповідно до оберненого квадратного закону, тому в прикладі, в 200 метрах від центру тяжіння буде 1,0 м/с2 (проти дистанції, 1/4 тяжіння), в 50 метрах буде 16.0 м/с2 (половина відстані, 4х тяжіння), і так далі.

Визначено лише тоді, коли відстань одиниці є позитивним числом. Коли це встановлюється до 0.0, то тяжіння буде постійною незалежно від відстані.

AreaParameter AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE = 5

Постійно встановити / вийняти лінійний демпферний режим перенади в зоні. Див. AreaSpaceOverrideMode для можливих значень.

AreaParameter AREA_PARAM_LINEAR_DAMP = 6

Постійне встановлення/витратити лінійний демпфуючий фактор ділянки.

AreaParameter AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE = 7

Постійно встановити / вийняти кутовий демпферний режим перенади в зоні. Див. AreaSpaceOverrideMode для можливих значень.

AreaParameter AREA_PARAM_ANGULAR_DAMP = 8

Постійно встановити / вийняти кутовий демпферний фактор ділянки.

AreaParameter AREA_PARAM_PRIORITY = 9

Постійне встановлення/витратити пріоритет (замовлення обробки) ділянки.

AreaParameter AREA_PARAM_WIND_FORCE_MAGNITUDE = 10

Постійне встановлення/витратити величину об’ємної вітрової сили. Ця сила вітру застосовується тільки до вузлів SoftBody3D. Інші фізико-фізичні органи в даний час не впливають на вітер.

AreaParameter AREA_PARAM_WIND_SOURCE = 11

Постійно встановити / вийняти вектор 3D, який визначає походження з якого об'єктивні вітрові удари.

AreaParameter AREA_PARAM_WIND_DIRECTION = 12

Постійно встановити / забути вектор 3D, який визначає напрямок, в якому об'єктивні вітрові удари.

AreaParameter AREA_PARAM_WIND_ATTENUATION_FACTOR = 13

Постійне встановлення/витратити швидкість, при якому знижується сила вітру на відстані від його походження.


enum AreaSpaceOverrideMode: 🔗

AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_DISABLED = 0

Ця область не впливає на тяжіння / пампу. Ці, як правило, райони, які існують тільки для виявлення зіткнень, а об'єкти, що надходять або випускають їх.

AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_COMBINE = 1

Ця область додає свої значення для тягової ваги. Таким чином, багато перекриття зон можуть поєднувати їх фізику, щоб зробити цікаві ефекти.

AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_COMBINE_REPLACE = 2

Ця область додає свої значення для тягової ваги. Після чого зупиняється з урахуванням інших зон, навіть за замовчуванням.

AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_REPLACE = 3

Ця область замінює будь-яку тяжіння / пампу, навіть за замовчуванням, і зупиняється з урахуванням інших зон.

AreaSpaceOverrideMode AREA_SPACE_OVERRIDE_REPLACE_COMBINE = 4

Ця область замінює будь-яку гравію/знімку, що обчислюється так далеко, але зберігає розрахунок решти областей, вниз до за замовчуванням.


enum BodyMode: 🔗

BodyMode BODY_MODE_STATIC = 0

Постійний для статичних органів. У цьому режимі тіло можна перенести тільки за допомогою коду користувача і не співвідношенні з іншими тілами.

BodyMode BODY_MODE_KINEMATIC = 1

Постійно для кінематичних органів. У цьому режимі тіло можна перенести тільки за допомогою коду користувача і колеги з іншими тілами.

BodyMode BODY_MODE_RIGID = 2

Постійний для жорстких тіл. У цьому режимі тіло можна відштовхувати іншими тілами і наносити сили.

BodyMode BODY_MODE_RIGID_LINEAR = 3

Постійний для лінійних жорстких тіл. У цьому режимі тіло не може обертати, і тільки його лінійна швидкість впливає на зовнішні сили.


enum BodyParameter: 🔗

BodyParameter BODY_PARAM_BOUNCE = 0

Постійно встановити / вийняти фактор відмов тіла.

BodyParameter BODY_PARAM_FRICTION = 1

Постійно встановити / приймати тертя тіла.

BodyParameter BODY_PARAM_MASS = 2

Постійно встановити / вийняти масу тіла.

BodyParameter BODY_PARAM_INERTIA = 3

Постійно встановити / приймати інерцію тіла.

BodyParameter BODY_PARAM_CENTER_OF_MASS = 4

Постійно встановити/зайняти центр маси тіла в локальній координатній системі тіла.

BodyParameter BODY_PARAM_GRAVITY_SCALE = 5

Постійно встановити / вийняти множника тіла.

BodyParameter BODY_PARAM_LINEAR_DAMP_MODE = 6

Постійно встановити / вийняти лінійний режим демппінгу тіла. Див. BodyDampMode для можливих значень.

BodyParameter BODY_PARAM_ANGULAR_DAMP_MODE = 7

Постійно встановити / вийняти кутовий режим видалення тіла. Див. BodyDampMode для можливих значень.

BodyParameter BODY_PARAM_LINEAR_DAMP = 8

Постійно встановити / приймати лінійний демпфуючий фактор тіла.

BodyParameter BODY_PARAM_ANGULAR_DAMP = 9

Постійно встановити / вийняти фактор пошкодження тіла.

BodyParameter BODY_PARAM_MAX = 10

Представляємо розмір BodyParameter enum.


enum BodyDampMode: 🔗

BodyDampMode BODY_DAMP_MODE_COMBINE = 0

Вартість видалення тіла додається до будь-якого значення, встановленого в зонах або значенням за замовчуванням.

BodyDampMode BODY_DAMP_MODE_REPLACE = 1

Значення розміру тіла замінює будь-яке значення, встановлене в зонах або значенням за замовчуванням.


enum BodyState: 🔗

BodyState BODY_STATE_TRANSFORM = 0

Постійно встановити / вийняти поточну трансформовану матрицю тіла.

BodyState BODY_STATE_LINEAR_VELOCITY = 1

Постійно встановити / приймати поточну лінійну швидкість тіла.

BodyState BODY_STATE_ANGULAR_VELOCITY = 2

Постійно встановити / вийняти поточну кутову швидкість тіла.

BodyState BODY_STATE_SLEEPING = 3

Постійно спати / випікати тіло, або отримати, чи є вона спляча.

BodyState BODY_STATE_CAN_SLEEP = 4

Постійно встановити / вийняти, чи може тіло спати.


enum AreaBodyStatus: 🔗

AreaBodyStatus AREA_BODY_ADDED = 0

Вартість першого параметра і функції виклику області отримує, коли об'єкт входить до однієї з його форм.

AreaBodyStatus AREA_BODY_REMOVED = 1

Вартість першого параметра і функції виклику області отримує, коли об'єкт виходить один з його форм.


enum ProcessInfo: 🔗

ProcessInfo INFO_ACTIVE_OBJECTS = 0

Постійно отримайте кількість об'єктів, які не сплять.

ProcessInfo INFO_COLLISION_PAIRS = 1

Постійно отримати кількість можливих зіткнень.

ProcessInfo INFO_ISLAND_COUNT = 2

Постійно отримати кількість просторих регіонів, де може відбуватися зіткнення.


enum SpaceParameter: 🔗

SpaceParameter SPACE_PARAM_CONTACT_RECYCLE_RADIUS = 0

Постійно встановити / вийняти максимальну відстань пари органів повинні переходити до їх статусу зіткнення.

SpaceParameter SPACE_PARAM_CONTACT_MAX_SEPARATION = 1

Постійно встановіть / оберіть максимальну відстань, форма може бути від іншої до того, як вони вважаються відокремленими, і контакт відкидається.

SpaceParameter SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION = 2

Постійно встановити / вийняти максимальну відстань, форма може проникнути ще одну форму, перш ніж вважається зіткненням.

SpaceParameter SPACE_PARAM_CONTACT_DEFAULT_BIAS = 3

Постійно налаштовувати / вийняти роз'єм за замовчуванням для всіх контактів фізики. Розчинник Bias є фактором, який контролює, як багато двох об'єктів "відновлення", після перекриття, щоб уникнути їх в цьому стані через чисельне імпросіяння.

SpaceParameter SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD = 4

Постійне встановлення/витратити порогу лінійну швидкість діяльності. Потенціал неактивний, як лінійна, так і кутова швидкість буде нести до сну після дати часу.

SpaceParameter SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD = 5

Постійно встановити / вийняти порогу кутову швидкість діяльності. Потенціал неактивний, як лінійна, так і кутова швидкість буде нести до сну після дати часу.

SpaceParameter SPACE_PARAM_BODY_TIME_TO_SLEEP = 6

Постійне встановлення/витратити максимальний час діяльності. Після цього часу, тіло, що позначається як потенційно неактивний як для лінійної, так і кутової швидкості.

SpaceParameter SPACE_PARAM_SOLVER_ITERATIONS = 7

Постійно налаштовувати/забудити кількість розчинників для контактів та обмежень. Чим більша кількість ітерацій, тим більш точний зіткнень і обмежень буде. Однак більша кількість ітерацій вимагає більшої потужності процесора, яка може зменшити продуктивність.


enum BodyAxis: 🔗

BodyAxis BODY_AXIS_LINEAR_X = 1

There is currently no description for this enum. Please help us by contributing one!

BodyAxis BODY_AXIS_LINEAR_Y = 2

There is currently no description for this enum. Please help us by contributing one!

BodyAxis BODY_AXIS_LINEAR_Z = 4

There is currently no description for this enum. Please help us by contributing one!

BodyAxis BODY_AXIS_ANGULAR_X = 8

There is currently no description for this enum. Please help us by contributing one!

BodyAxis BODY_AXIS_ANGULAR_Y = 16

There is currently no description for this enum. Please help us by contributing one!

BodyAxis BODY_AXIS_ANGULAR_Z = 32

There is currently no description for this enum. Please help us by contributing one!


Описи методів

void area_add_shape(area: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false) 🔗

Додає форму в область, разом з трансформуючою матрицею. Шпильки зазвичай додаються індексом, тому слід відслідковувати яку форму має заданий індекс.


void area_attach_object_instance_id(area: RID, id: int) 🔗

Призначає область нащадку Object, щоб вона могла існувати у дереві вузлів.


void area_clear_shapes(area: RID) 🔗

Видаліть всі форми з області. Не видаліть форми, тому їх можна перепризначати пізніше.


RID area_create() 🔗

Створює об'єкт площею 3D у фізичному сервері, і повертає RID, який ідентифікує його. Параметри за замовчуванням для створеної площі включають шар зіткнення і набір масок для 1, і моніторинг, встановлений до false.

Використовуйте area_add_shape(), щоб додати форми до нього, скористайтеся area_set_transform(), щоб встановити його трансформацію, а також використовувати area_set_space() для додавання площі до простору. Якщо ви хочете, щоб зона була виявлена area_set_monitorable().


int area_get_collision_layer(area: RID) const 🔗

Повертає фізичний шар або шари ділянки належить до.


int area_get_collision_mask(area: RID) const 🔗

Повертає фізичний шар або шари приміщення можна зв'язатися з.


int area_get_object_instance_id(area: RID) const 🔗

Отримує ідентифікатор екземпляра об'єкта, приписаний до.


Variant area_get_param(area: RID, param: AreaParameter) const 🔗

Повертає значення параметра області. Перелік доступних параметрів знаходиться на території AreaParameter.


RID area_get_shape(area: RID, shape_idx: int) const 🔗

Повернення RID n-ї форми ділянки.


int area_get_shape_count(area: RID) const 🔗

Повертає кількість форм, призначених для ділянки.


Transform3D area_get_shape_transform(area: RID, shape_idx: int) const 🔗

Повертає трансформую матрицю форми в межах області.


RID area_get_space(area: RID) const 🔗

Повертає простір, призначене для місцевості.


Transform3D area_get_transform(area: RID) const 🔗

Повертає трансформую матрицю на область.


void area_remove_shape(area: RID, shape_idx: int) 🔗

Знімає форму з області. Вона не видаляє форму, тому її можна перепризначати пізніше.


void area_set_area_monitor_callback(area: RID, callback: Callable) 🔗

Налаштовує зону моніторингу зворотного зв'язку. Цей зворотний зв'язок буде викликаний, коли будь-який інший (форма) область надходить або виходи (форма) даної області, і повинні прийняти наступні п'ять параметрів:

  1. ціле статус: або AREA_BODY_ADDED або AREA_BODY_REMOVED в залежності від того, чи вводилася форма іншої області або виходу на область,

  2. RID area_rid: RID іншої області, яка введена або виходила область,

  3. ціле instance_id: ObjectID прикріплюється до іншої області,

  4. ціле area_shape_idx: індекс форми іншої області, яка вводиться або виходила область,

  5. ціле self_shape_idx: індекс форми місцевості, де вводиться інший район або виходив.

При підрахунку (або зберіганні доріжки) форми, які надходять і виходять, можна визначити, якщо область (з усіма його формами) вступає в перший раз або вихід на останній раз.


void area_set_collision_layer(area: RID, layer: int) 🔗

Призначає площу до одного або декількох фізичних шарів.


void area_set_collision_mask(area: RID, mask: int) 🔗

Набори, які фізичні шари зони будуть контролюватися.


void area_set_monitor_callback(area: RID, callback: Callable) 🔗

Налаштовує зону моніторингу зворотного зв'язку. Цей зворотний зв'язок буде викликаний, коли будь-який інший (форма) область надходить або виходи (форма) даної області, і повинні прийняти наступні п'ять параметрів:

  1. ціле статус: або AREA_BODY_ADDED або AREA_BODY_REMOVED в залежності від того, чи вводилася форма іншої області або виходу на область,

  2. RID area_rid: RID іншої області, яка введена або виходила область,

  3. ціле instance_id: ObjectID прикріплюється до іншої області,

  4. ціле area_shape_idx: індекс форми іншої області, яка вводиться або виходила область,

  5. ціле self_shape_idx: індекс форми місцевості, де вводиться інший район або виходив.

При підрахунку (або зберіганні доріжки) форми, які надходять і виходять, можна визначити, якщо область (з усіма його формами) вступає в перший раз або вихід на останній раз.


void area_set_monitorable(area: RID, monitorable: bool) 🔗

There is currently no description for this method. Please help us by contributing one!


void area_set_param(area: RID, param: AreaParameter, value: Variant) 🔗

Встановлює значення параметра області. Перелік доступних параметрів знаходиться на території AreaParameter.


void area_set_ray_pickable(area: RID, enable: bool) 🔗

Встановлює об'єкт, підібраний з променями.


void area_set_shape(area: RID, shape_idx: int, shape: RID) 🔗

Встановлює задану форму ділянки іншим. Стара форма вибирається за індексом, новий за його RID.


void area_set_shape_disabled(area: RID, shape_idx: int, disabled: bool) 🔗

There is currently no description for this method. Please help us by contributing one!


void area_set_shape_transform(area: RID, shape_idx: int, transform: Transform3D) 🔗

Встановлює трансформую матрицю для форми ділянки.


void area_set_space(area: RID, space: RID) 🔗

Призначає простір до площі.


void area_set_transform(area: RID, transform: Transform3D) 🔗

Встановлює трансформую матрицю для області.


void body_add_collision_exception(body: RID, excepted_body: RID) 🔗

Додає тіло до переліку органів, звільнених від зіткнення.


void body_add_constant_central_force(body: RID, force: Vector3) 🔗

Додавання постійної спрямованої сили без ударної обертання, яка зберігає час, поки не очищається body_set_constant_force(body, Vector3(0, 0).

Це еквівалентно використання body_add_constant_force() в центрі маси тіла.


void body_add_constant_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

Додавання постійної позиціонованої сили до тіла, яка зберігає час, поки не очищається body_set_constant_force(body, Vector3(0, 0).

position – це зміщення з організму в глобальних координатах.


void body_add_constant_torque(body: RID, torque: Vector3) 🔗

Додає постійної обертальної сили, не впливаючи на позицію, яка зберігає час, поки не очищається body_set_constant_torque(body, Vector3(0, 0).


void body_add_shape(body: RID, shape: RID, transform: Transform3D = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0), disabled: bool = false) 🔗

Додає форму до тіла, разом з трансформуючою матрицею. Шпильки зазвичай додаються індексом, тому слід відслідковувати яку форму має заданий індекс.


void body_apply_central_force(body: RID, force: Vector3) 🔗

Застосовується спрямована сила без ударного обертання. Знаряддя часу залежна і означена для кожного оновлення фізики.

Це еквівалентно використанню body_apply_force() в центрі маси тіла.


void body_apply_central_impulse(body: RID, impulse: Vector3) 🔗

Застосовується спрямований імпульс без впливу обертання.

Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).

Це еквівалентно використанню body_apply_impulse() в центрі маси тіла.


void body_apply_force(body: RID, force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

Застосовується сила позиціонування організму. Знаряддя часу залежна і означена для кожного оновлення фізики.

position – це зміщення з організму в глобальних координатах.


void body_apply_impulse(body: RID, impulse: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

Застосує поміщений імпульс до тіла.

Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).

position – це зміщення з організму в глобальних координатах.


void body_apply_torque(body: RID, torque: Vector3) 🔗

Застосовується обертальна сила, не впливає на положення. Знаряддя часу залежна і означена для кожного оновлення фізики.


void body_apply_torque_impulse(body: RID, impulse: Vector3) 🔗

Застосовує обертальний імпульс до тіла без впливу на положення.

Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).


void body_attach_object_instance_id(body: RID, id: int) 🔗

Призначає область нащадку Object, щоб вона могла існувати у дереві вузлів.


void body_clear_shapes(body: RID) 🔗

Видаліть всі форми з тіла.


RID body_create() 🔗

Створює об'єкт 3D в фізичному сервері, і повертає RID, який ідентифікує його. Параметри за замовчуванням для створеної площі включають шар зіткнення і набір масок для 1, і режим кузова, встановленого до BODY_MODE_RIGID.

Використовуйте body_add_shape(), щоб додати форми до нього, скористайтеся body_set_state(), щоб встановити його трансформацію, і використовувати body_set_space(), щоб додати тіло до простору.


int body_get_collision_layer(body: RID) const 🔗

Повертає фізичний шар або шари тіла належить до.


int body_get_collision_mask(body: RID) const 🔗

Повертає фізичний шар або шари тіла може з'єднатися з.


float body_get_collision_priority(body: RID) const 🔗

Повернення пріоритету зіткнення тіла.


Vector3 body_get_constant_force(body: RID) const 🔗

Повертає загальні постійні позиційні сили тіла, що застосовуються під час кожного оновлення фізики.

Див. body_add_constant_force() та body_add_constant_central_force().


Vector3 body_get_constant_torque(body: RID) const 🔗

Під час кожного оновлення фізики повернулися загальні постійні обертальні сили.

Подивитися body_add_constant_torque().


PhysicsDirectBodyState3D body_get_direct_state(body: RID) 🔗

Повертає PhysicsDirectBodyState3D тіла. Повертає null, якщо тіло знищено або видалено з фізичного простору.


int body_get_max_contacts_reported(body: RID) const 🔗

Повернутися до максимальних контактів, які можуть бути повідомлені. Див. body_set_max_contacts_reported().


BodyMode body_get_mode(body: RID) const 🔗

Повертає режим тіла.


int body_get_object_instance_id(body: RID) const 🔗

Отримує ідентифікатор екземпляра об'єкта, приписаний до.


Variant body_get_param(body: RID, param: BodyParameter) const 🔗

Повертає значення параметра тіла. Перелік доступних параметрів знаходиться на константі BodyParameter.


RID body_get_shape(body: RID, shape_idx: int) const 🔗

Повернення RID n-ї форми тіла.


int body_get_shape_count(body: RID) const 🔗

Повертаємо кількість форм, призначених для тіла.


Transform3D body_get_shape_transform(body: RID, shape_idx: int) const 🔗

Повертає трансформую матрицю форми тіла.


RID body_get_space(body: RID) const 🔗

Повертаємо місце, призначене для тіла.


Variant body_get_state(body: RID, state: BodyState) const 🔗

Повертає стан тіла.


bool body_is_axis_locked(body: RID, axis: BodyAxis) const 🔗

There is currently no description for this method. Please help us by contributing one!


bool body_is_continuous_collision_detection_enabled(body: RID) const 🔗

Якщо true, режим безперервного виявлення зіткнення включений.


bool body_is_omitting_force_integration(body: RID) const 🔗

Повертаємо true, якщо тіло відмовляється від стандартної силової інтеграції. Див. _set_omit_force_integration().


void body_remove_collision_exception(body: RID, excepted_body: RID) 🔗

Видаліть тіло з переліку органів, звільнених від зіткнення.

Неперервне виявлення зіткнень намагається прогнозувати, де рухоме тіло буде з'єднуватися, замість переміщення його і виправлення його руху, якщо він збігається.


void body_remove_shape(body: RID, shape_idx: int) 🔗

Знімає форму з тіла. Форма не видаляється, тому її можна повторно використовувати.


void body_reset_mass_properties(body: RID) 🔗

Відновлює значення інерції та центру мас за замовчуванням на основі форм, щоб скасувати будь-які користувацькі значення, встановлені раніше за допомогою body_set_param().


void body_set_axis_lock(body: RID, axis: BodyAxis, lock: bool) 🔗

There is currently no description for this method. Please help us by contributing one!


void body_set_axis_velocity(body: RID, axis_velocity: Vector3) 🔗

Налаштовує швидкість осі. Швидкість в заданій векторній віссі буде встановлена в якості заданої довжини вектора. Це корисно для стрибків поведінки.


void body_set_collision_layer(body: RID, layer: int) 🔗

Налаштовує фізичний шар або шари тіла.


void body_set_collision_mask(body: RID, mask: int) 🔗

Встановлює фізичний шар або шари тіла може з'єднатися.


void body_set_collision_priority(body: RID, priority: float) 🔗

Налаштування пріоритету зіткнення тіла.


void body_set_constant_force(body: RID, force: Vector3) 🔗

Встановлює загальні постійні позиційні сили тіла, що застосовуються під час кожного оновлення фізики.

Див. body_add_constant_force() та body_add_constant_central_force().


void body_set_constant_torque(body: RID, torque: Vector3) 🔗

Встановлює загальні постійні обертальні сили організму, що застосовуються під час кожного оновлення фізики.

Подивитися body_add_constant_torque().


void body_set_enable_continuous_collision_detection(body: RID, enable: bool) 🔗

Якщо true, режим безперервного виявлення зіткнення включений.

Неперервне виявлення зіткнень намагається прогнозувати, де рухоме тіло буде з'єднуватися, замість переміщення його і виправлення його руху, якщо він збігається.


void body_set_force_integration_callback(body: RID, callable: Callable, userdata: Variant = null) 🔗

Налаштовує функцію зворотного зв’язку з користувацькими зусиллями тіла до callable. Використовуйте порожній Callable (Callable()) для очищення користувацького зворотного виклику.

Функція callable буде називатися кожен фізичний кліщ, перш ніж стандартна інтеграція сили (див. body_set_omit_force_integration()). Для оновлення лінійної та кутової швидкості тіла можна використовувати наприклад, для оновлення лінійної та кутової швидкості на основі контакту з іншими тілами.

Якщо userdata не null, функція callable повинна приймати наступні два параметри:

  1. state: a PhysicsDirectBodyState3D, використовується для отримання та модифікації стану тіла,

  2. userdata: a Variant; його значення буде userdata передано в цей метод.

Якщо userdata is null, то callable повинен прийняти тільки параметр state.


void body_set_max_contacts_reported(body: RID, amount: int) 🔗

Налаштовує максимум контактів до звіту. Жінки можуть зберігати журнал контактів з іншими органами. Це ввімкнено, встановивши максимальну кількість контактів, які повідомляються на номер більше 0.


void body_set_mode(body: RID, mode: BodyMode) 🔗

Встановлює режим тіла.


void body_set_omit_force_integration(body: RID, enable: bool) 🔗

Налаштовує, чи є тіло, що має стандартну силову інтеграцію. Якщо ввімкнути є true, тіло не буде автоматично використовувати застосовані сили, крутки, а також перешкоджати відновленню лінійної та кутової швидкості тіла. У цьому випадку можна використовувати для вручну оновлення лінійної та кутової швидкості.

Цей метод називається при наявності майна RigidBody3D.custom_integrator.


void body_set_param(body: RID, param: BodyParameter, value: Variant) 🔗

Налаштовує параметр тіла. Перелік доступних параметрів знаходиться на константі BodyParameter.


void body_set_ray_pickable(body: RID, enable: bool) 🔗

Робить тіло помітним для променів, якщо enable увімкнено.


void body_set_shape(body: RID, shape_idx: int, shape: RID) 🔗

Налаштовує задану форму тіла іншим. Стара форма вибирається за індексом, новий за його RID.


void body_set_shape_disabled(body: RID, shape_idx: int, disabled: bool) 🔗

There is currently no description for this method. Please help us by contributing one!


void body_set_shape_transform(body: RID, shape_idx: int, transform: Transform3D) 🔗

Встановлює трансформую матрицю для форми тіла.


void body_set_space(body: RID, space: RID) 🔗

Призначає пробіл тілу (див. space_create()).


void body_set_state(body: RID, state: BodyState, value: Variant) 🔗

Встановлює стан тіла.


void body_set_state_sync_callback(body: RID, callable: Callable) 🔗

Налаштовує функцію зворотного виклику стану тіла до callable. Використовуйте порожній Callable (Callable()) для очищення зворотного виклику.

Функція callable буде називатися кожним фізичним кадром, припустимо, що тіло було активний під час попередньої фізики кліщу, і може бути використаний для виїдання останнього стану з фізичного сервера.

Функція callable повинна приймати такі параметри:

  1. state: a PhysicsDirectBodyState3D, використовується для отримання стану тіла.


bool body_test_motion(body: RID, parameters: PhysicsTestMotionParameters3D, result: PhysicsTestMotionResult3D = null) 🔗

Повертаємо true, якщо зіткнення призведе до переміщення по вектору руху з даної точки в космосі. PhysicsTestMotionParameters3D передається для встановлення параметрів руху. PhysicsTestMotionResult3D може передати додаткову інформацію.


RID box_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


RID capsule_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


RID concave_polygon_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


float cone_twist_joint_get_param(joint: RID, param: ConeTwistJointParam) const 🔗

Отримує параметр з'єднання конічного скручування.


void cone_twist_joint_set_param(joint: RID, param: ConeTwistJointParam, value: float) 🔗

Встановлює параметр з'єднання конусного скручування.


RID convex_polygon_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


RID custom_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


RID cylinder_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


void free_rid(rid: RID) 🔗

Дестройс будь-який з об'єктів, створених фізикоюServer3D. Якщо RID було передано не одне з об'єктів, які можуть бути створені за допомогою PhysServer3D, похибка буде відправлена до консолі.


bool generic_6dof_joint_get_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag) const 🔗

Повертає значення загального прапора спільного елемента 6DOF.


float generic_6dof_joint_get_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam) const 🔗

Повертає значення загального параметра з'єднання 6 ступенів свободи.


void generic_6dof_joint_set_flag(joint: RID, axis: Axis, flag: G6DOFJointAxisFlag, enable: bool) 🔗

Встановлює значення заданого загального прапорця спільного елемента 6DOF.


void generic_6dof_joint_set_param(joint: RID, axis: Axis, param: G6DOFJointAxisParam, value: float) 🔗

Встановлює значення заданого загального параметра з'єднання 6 ступенів свободи.


int get_process_info(process_info: ProcessInfo) 🔗

Повертає значення стану фізичного движка, заданого параметром process_info.


RID heightmap_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


bool hinge_joint_get_flag(joint: RID, flag: HingeJointFlag) const 🔗

Отримує прапорець шарнірного з'єднання.


float hinge_joint_get_param(joint: RID, param: HingeJointParam) const 🔗

Отримує параметр шарнірного з'єднання.


void hinge_joint_set_flag(joint: RID, flag: HingeJointFlag, enabled: bool) 🔗

Встановлює прапорець шарнірного з'єднання.


void hinge_joint_set_param(joint: RID, param: HingeJointParam, value: float) 🔗

Встановлює параметр шарнірного з'єднання.


void joint_clear(joint: RID) 🔗

There is currently no description for this method. Please help us by contributing one!


RID joint_create() 🔗

There is currently no description for this method. Please help us by contributing one!


void joint_disable_collisions_between_bodies(joint: RID, disable: bool) 🔗

Налаштовує, чи кріпляться ті тіла до Joint3D.


int joint_get_solver_priority(joint: RID) const 🔗

Одержує пріоритетне значення Joint3D.


JointType joint_get_type(joint: RID) const 🔗

Повертає тип Joint3D.


bool joint_is_disabled_collisions_between_bodies(joint: RID) const 🔗

Повертаємо вашу увагу на те, що ті органи, прикріплені до Joint3D, зіштовхуються один з одним.


void joint_make_cone_twist(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗

There is currently no description for this method. Please help us by contributing one!


void joint_make_generic_6dof(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗

Зробіть з'єднання загальним з'єднанням із шістьма ступенями свободи (6DOF). Використовуйте метод generic_6dof_joint_set_flag() та generic_6dof_joint_set_param() для встановлення прапорців та параметрів з'єднання відповідно.


void joint_make_hinge(joint: RID, body_A: RID, hinge_A: Transform3D, body_B: RID, hinge_B: Transform3D) 🔗

There is currently no description for this method. Please help us by contributing one!


void joint_make_pin(joint: RID, body_A: RID, local_A: Vector3, body_B: RID, local_B: Vector3) 🔗

There is currently no description for this method. Please help us by contributing one!


void joint_make_slider(joint: RID, body_A: RID, local_ref_A: Transform3D, body_B: RID, local_ref_B: Transform3D) 🔗

There is currently no description for this method. Please help us by contributing one!


void joint_set_solver_priority(joint: RID, priority: int) 🔗

Налаштовує пріоритетне значення Спільного3D.


Vector3 pin_joint_get_local_a(joint: RID) const 🔗

Повертає позицію суглоба в місцевому просторі тіла суглоба.


Vector3 pin_joint_get_local_b(joint: RID) const 🔗

Повертає позицію суглоба в місцевому просторі тіла б суглоба.


float pin_joint_get_param(joint: RID, param: PinJointParam) const 🔗

Отримує параметр штифтового з'єднання.


void pin_joint_set_local_a(joint: RID, local_A: Vector3) 🔗

Налаштовує позицію суглоба в місцевому просторі тіла суглоба.


void pin_joint_set_local_b(joint: RID, local_B: Vector3) 🔗

Встановлює позицію суглоба в місцевому просторі тіла б суглоба.


void pin_joint_set_param(joint: RID, param: PinJointParam, value: float) 🔗

Встановлює параметр штифтового з'єднання.


RID separation_ray_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


void set_active(active: bool) 🔗

Активує або деактивує фізичний двигун 3D.


Variant shape_get_data(shape: RID) const 🔗

Повертаємо дані форми.


float shape_get_margin(shape: RID) const 🔗

Повертає запас зіткнення для форми.

Примітка: Це не використовується в фізики Godot, тому завжди повернеться 0.


ShapeType shape_get_type(shape: RID) const 🔗

Повертає тип фігури.


void shape_set_data(shape: RID, data: Variant) 🔗

Встановлює дані фігури, які визначають її форму та розмір. Дані, що передаються, залежать від типу створеної фігури shape_get_type().


void shape_set_margin(shape: RID, margin: float) 🔗

Встановлює запас зіткнення для форми.

Примітка: Це не використовується в фізики Godot.


float slider_joint_get_param(joint: RID, param: SliderJointParam) const 🔗

Отримує параметр з'єднання повзунка.


void slider_joint_set_param(joint: RID, param: SliderJointParam, value: float) 🔗

Отримує параметр з'єднання повзунка.


void soft_body_add_collision_exception(body: RID, body_b: RID) 🔗

Додає дане тіло до переліку органів, звільнених від зіткнень.


void soft_body_apply_central_force(body: RID, force: Vector3) 🔗

Розподіляє та застосовує силу до всіх точок. Сила залежить від часу та призначена для застосування під час кожного оновлення фізики.


void soft_body_apply_central_impulse(body: RID, impulse: Vector3) 🔗

Розподіляє та застосовує імпульс до всіх точок.

Імпульс не залежить від часу! Застосування імпульсу кожного кадру призведе до сили, що залежить від частоти кадрів. З цієї причини його слід використовувати лише під час моделювання одноразових ударів (в іншому випадку використовуйте функції "_force").


void soft_body_apply_point_force(body: RID, point_index: int, force: Vector3) 🔗

Прикладає силу до точки. Сила залежить від часу та має застосовуватися під час кожного оновлення фізики.


void soft_body_apply_point_impulse(body: RID, point_index: int, impulse: Vector3) 🔗

Застосовує імпульс до точки.

Імпульс не залежить від часу! Застосування імпульсу кожного кадру призведе до сили, що залежить від частоти кадрів. З цієї причини його слід використовувати лише під час моделювання одноразових ударів (в іншому випадку використовуйте функції "_force").


RID soft_body_create() 🔗

Створює новий м'який корпус і повертає його внутрішню RID.


AABB soft_body_get_bounds(body: RID) const 🔗

Повернути межі даної м’якого тіла у глобальних координатах.


int soft_body_get_collision_layer(body: RID) const 🔗

Повертає фізичний шар або шари, які наданий м'яким тілом належить.


int soft_body_get_collision_mask(body: RID) const 🔗

Повертає фізичний шар або шари, які дають м'яке тіло може з'єднатися з.


float soft_body_get_damping_coefficient(body: RID) const 🔗

Повертає коефіцієнт пошкодження даного м'якого тіла.


float soft_body_get_drag_coefficient(body: RID) const 🔗

Повертає коефіцієнт перетягування даної м'якого тіла.


float soft_body_get_linear_stiffness(body: RID) const 🔗

Повертає лінійну жорсткість даного м'якого тіла.


Vector3 soft_body_get_point_global_position(body: RID, point_index: int) const 🔗

Повертає поточну позицію даної м’якої точки тіла у глобальних координатах.


float soft_body_get_pressure_coefficient(body: RID) const 🔗

Повертає коефіцієнт тиску даної м'якого тіла.


float soft_body_get_shrinking_factor(body: RID) const 🔗

Повертає коефіцієнт стиснення заданого м'якого тіла.


int soft_body_get_simulation_precision(body: RID) const 🔗

Повертаємо симуляторну точність даної м'якого тіла.


RID soft_body_get_space(body: RID) const 🔗

Повертаємо RID простору, призначеного для даного м'якого тіла.


Variant soft_body_get_state(body: RID, state: BodyState) const 🔗

Повертає заданий стан м'якого тіла.

Примітка: Фізична реалізація Godot за замовчуванням не підтримує BODY_STATE_LINEAR_VELOCITY, BODY_STATE_ANGULAR_VELOCITY, BODY_STATE_SLEEPING або BODY_STATE_CAN_SLEEP.


float soft_body_get_total_mass(body: RID) const 🔗

Повертає загальну масу, призначену для даного м'якого тіла.


bool soft_body_is_point_pinned(body: RID, point_index: int) const 🔗

Повертає, чи дана м'яка точка тіла кріпиться.


void soft_body_move_point(body: RID, point_index: int, global_position: Vector3) 🔗

Перемістити точну м'яку точку тіла на позицію у глобальних координатах.


void soft_body_pin_point(body: RID, point_index: int, pin: bool) 🔗

Піни або розпилювачі даної м'якої точки тіла на основі значення pin.

Примітка: Натискання точки ефективно робить його кінематичними, запобігаючи її впливу на сили, але ви все ще можете переміщати його за допомогою Soft_body_move_point().


void soft_body_remove_all_pinned_points(body: RID) 🔗

Непіни всі точки даної м'якого тіла.


void soft_body_remove_collision_exception(body: RID, body_b: RID) 🔗

Видаліть зазначене тіло з переліку органів, звільнених від зіткнення.


void soft_body_set_collision_layer(body: RID, layer: int) 🔗

Налаштовує фізичний шар або шари даної м'якого тіла.


void soft_body_set_collision_mask(body: RID, mask: int) 🔗

Налаштовує фізичний шар або шари даної м'якого тіла може з'єднатися.


void soft_body_set_damping_coefficient(body: RID, damping_coefficient: float) 🔗

Налаштовує коефіцієнт пошкодження даного м'якого тіла. Більш помітно уповільнить тіло при нанесенні сил.


void soft_body_set_drag_coefficient(body: RID, drag_coefficient: float) 🔗

Встановлює коефіцієнт перетягування даної м'якого тіла. Вищі значення підвищують опір повітря цього тіла.

Примітка: Це значення в даний час невикористане впровадження фізики Godot.


void soft_body_set_linear_stiffness(body: RID, stiffness: float) 🔗

Налаштовує лінійну жорсткість даного м'якого тіла. Більшість значень призведе до жорсткого тіла, при цьому менші значення підвищать здатність тіла до вигину. 0.0 і 1.0 (включно).


void soft_body_set_mesh(body: RID, mesh: RID) 🔗

Налаштовує сіточку даної м'якого тіла.


void soft_body_set_pressure_coefficient(body: RID, pressure_coefficient: float) 🔗

Встановлює коефіцієнт тиску даної м'якого тіла. Симулятори тиску з внутрішньої сторони цього тіла. Вищі значення підвищують міцність даного ефекту.


void soft_body_set_ray_pickable(body: RID, enable: bool) 🔗

Налаштовує, чи буде вибрано дана м'яка тіло при використанні вибору об'єкта.


void soft_body_set_shrinking_factor(body: RID, shrinking_factor: float) 🔗

Встановлює коефіцієнт стиснення заданого м'якого тіла.


void soft_body_set_simulation_precision(body: RID, simulation_precision: int) 🔗

Комплектує імітаційну точність даної м'якого тіла. Збільшення цього значення покращить отримане моделювання, але може вплинути на продуктивність. Використовуйте з обережністю.


void soft_body_set_space(body: RID, space: RID) 🔗

Призначає простір заданому м’якому тілу (див. space_create()).


void soft_body_set_state(body: RID, state: BodyState, variant: Variant) 🔗

Встановлює заданий стан тіла для заданого тіла.

Примітка: Фізична реалізація Godot за замовчуванням не підтримує BODY_STATE_LINEAR_VELOCITY, BODY_STATE_ANGULAR_VELOCITY, BODY_STATE_SLEEPING або BODY_STATE_CAN_SLEEP.


void soft_body_set_total_mass(body: RID, total_mass: float) 🔗

Комплектує загальну масу для даного м'якого тіла.


void soft_body_set_transform(body: RID, transform: Transform3D) 🔗

Налаштовує глобальну трансформацію даної м’якого тіла.


void soft_body_update_rendering_server(body: RID, rendering_server_handler: PhysicsServer3DRenderingServerHandler) 🔗

Запитує, що сервер фізики оновлює сервер рендерингу з останніми позиціями даної точки м'якого тіла через інтерфейс rendering_server_handler.


RID space_create() 🔗

Створення простору. Простір - це збір параметрів для фізичного двигуна, який може бути призначений для зони або тіла. Ви можете призначати область з area_set_space(), або до тіла з body_set_space().


PhysicsDirectSpaceState3D space_get_direct_state(space: RID) 🔗

Повертає стан простору, PhysicsDirectSpaceState3D. Цей об'єкт можна використовувати для створення запитів на колізії/перетини.


float space_get_param(space: RID, param: SpaceParameter) const 🔗

Повертає значення параметра простору.


bool space_is_active(space: RID) const 🔗

Повертає, чи працює простір.


void space_set_active(space: RID, active: bool) 🔗

Відзначає простір як активний. Не буде ефекту, якщо воно призначене для зони або тіла.


void space_set_param(space: RID, param: SpaceParameter, value: float) 🔗

Встановлює значення для параметра простору. Перелік доступних параметрів знаходиться на константі SpaceParameter.


RID sphere_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!


RID world_boundary_shape_create() 🔗

There is currently no description for this method. Please help us by contributing one!