PhysicsDirectBodyState3D

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

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

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

Опис

Забезпечує прямий доступ до фізичного тіла в PhysicsServer3D, що дозволяє безпечні зміни фізико-фізичних властивостей. Цей об'єкт пропускається через прямий державний зворотний зв'язок RigidBody3D, і призначений для зміни безпосереднього стану цього тіла. RigidBody3D._integrate_forces().

Посібники

Властивості

Vector3

angular_velocity

Vector3

center_of_mass

Vector3

center_of_mass_local

int

collision_layer

int

collision_mask

Vector3

inverse_inertia

Basis

inverse_inertia_tensor

float

inverse_mass

Vector3

linear_velocity

Basis

principal_inertia_axes

bool

sleeping

float

step

float

total_angular_damp

Vector3

total_gravity

float

total_linear_damp

Transform3D

transform

Методи

void

add_constant_central_force(force: Vector3 = Vector3(0, 0, 0))

void

add_constant_force(force: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

add_constant_torque(torque: Vector3)

void

apply_central_force(force: Vector3 = Vector3(0, 0, 0))

void

apply_central_impulse(impulse: Vector3 = Vector3(0, 0, 0))

void

apply_force(force: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

apply_impulse(impulse: Vector3, position: Vector3 = Vector3(0, 0, 0))

void

apply_torque(torque: Vector3)

void

apply_torque_impulse(impulse: Vector3)

Vector3

get_constant_force() const

Vector3

get_constant_torque() const

RID

get_contact_collider(contact_idx: int) const

int

get_contact_collider_id(contact_idx: int) const

Object

get_contact_collider_object(contact_idx: int) const

Vector3

get_contact_collider_position(contact_idx: int) const

int

get_contact_collider_shape(contact_idx: int) const

Vector3

get_contact_collider_velocity_at_position(contact_idx: int) const

int

get_contact_count() const

Vector3

get_contact_impulse(contact_idx: int) const

Vector3

get_contact_local_normal(contact_idx: int) const

Vector3

get_contact_local_position(contact_idx: int) const

int

get_contact_local_shape(contact_idx: int) const

Vector3

get_contact_local_velocity_at_position(contact_idx: int) const

PhysicsDirectSpaceState3D

get_space_state()

Vector3

get_velocity_at_local_position(local_position: Vector3) const

void

integrate_forces()

void

set_constant_force(force: Vector3)

void

set_constant_torque(torque: Vector3)


Описи властивостей

Vector3 angular_velocity 🔗

  • void set_angular_velocity(value: Vector3)

  • Vector3 get_angular_velocity()

Швидкість обертання тіла в radians за секунду.


Vector3 center_of_mass 🔗

Центр маси тіла відносно центру тіла у глобальній координатній системі.


Vector3 center_of_mass_local 🔗

  • Vector3 get_center_of_mass_local()

Центр маси тіла в локальній координатній системі тіла.


int collision_layer 🔗

  • void set_collision_layer(value: int)

  • int get_collision_layer()

Шар зіткнення тіла.


int collision_mask 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Маска зіткнення тіла.


Vector3 inverse_inertia 🔗

Інверс інерції тіла.


Basis inverse_inertia_tensor 🔗

  • Basis get_inverse_inertia_tensor()

Інверс інерції тензора тіла.


float inverse_mass 🔗

  • float get_inverse_mass()

Інверс маси тіла.


Vector3 linear_velocity 🔗

  • void set_linear_velocity(value: Vector3)

  • Vector3 get_linear_velocity()

Лінійна швидкість тіла в блоках на секунду.


Basis principal_inertia_axes 🔗

  • Basis get_principal_inertia_axes()

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


bool sleeping 🔗

  • void set_sleep_state(value: bool)

  • bool is_sleeping()

Якщо true, це тіло зараз спить (не активний).


float step 🔗

Часовий (delta) використовується для моделювання.


float total_angular_damp 🔗

  • float get_total_angular_damp()

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


Vector3 total_gravity 🔗

Вектор загальної ваги в даний час застосовується до цього тіла.


float total_linear_damp 🔗

  • float get_total_linear_damp()

Швидкість, при якій тіло припиняє рух, якщо інші сили не рухаються.


Transform3D transform 🔗

Матриця трансформації тіла.


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

void add_constant_central_force(force: Vector3 = Vector3(0, 0, 0)) 🔗

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

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


void add_constant_force(force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

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

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


void add_constant_torque(torque: Vector3) 🔗

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


void apply_central_force(force: Vector3 = Vector3(0, 0, 0)) 🔗

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

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


void apply_central_impulse(impulse: Vector3 = Vector3(0, 0, 0)) 🔗

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

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

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


void apply_force(force: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

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

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


void apply_impulse(impulse: Vector3, position: Vector3 = Vector3(0, 0, 0)) 🔗

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

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

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


void apply_torque(torque: Vector3) 🔗

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

Примітка: inverse_inertia обов'язковий для цього для роботи. Для того, щоб мати inverse_inertia, активний CollisionShape3D повинен бути дитиною вузла, або ви можете вручну встановити inverse_inertia.


void apply_torque_impulse(impulse: Vector3) 🔗

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

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

Примітка: inverse_inertia обов'язково для роботи. Для того, щоб мати inverse_inertia, активний CollisionShape3D повинен бути дитиною вузла, або ви можете вручну встановити inverse_inertia.


Vector3 get_constant_force() const 🔗

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

Див. add_constant_force() і add_constant_central_force().


Vector3 get_constant_torque() const 🔗

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

Див. add_constant_torque().


RID get_contact_collider(contact_idx: int) const 🔗

Повертає увагу RID.


int get_contact_collider_id(contact_idx: int) const 🔗

Повернення об'єкта Collider id.


Object get_contact_collider_object(contact_idx: int) const 🔗

Повертає об'єкт Collider.


Vector3 get_contact_collider_position(contact_idx: int) const 🔗

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


int get_contact_collider_shape(contact_idx: int) const 🔗

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


Vector3 get_contact_collider_velocity_at_position(contact_idx: int) const 🔗

Повертає вектор лінійної швидкості на контактній точці комірця.


int get_contact_count() const 🔗

Повертає кількість контактів, що це тіло має інші тіла.

Примітка: За замовчуванням, це повертає 0, якщо органи налаштовані для моніторингу контактів. Див. RigidBody3D.contact_monitor.


Vector3 get_contact_impulse(contact_idx: int) const 🔗

Імпульс, створений контактом.


Vector3 get_contact_local_normal(contact_idx: int) const 🔗

Повертає локальний нормаль в контактній точці.


Vector3 get_contact_local_position(contact_idx: int) const 🔗

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


int get_contact_local_shape(contact_idx: int) const 🔗

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


Vector3 get_contact_local_velocity_at_position(contact_idx: int) const 🔗

Повертає вектор лінійної швидкості на контактній точці тіла.


PhysicsDirectSpaceState3D get_space_state() 🔗

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


Vector3 get_velocity_at_local_position(local_position: Vector3) const 🔗

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


void integrate_forces() 🔗

Оновлює лінійну і кутову швидкість тіла, застосовуючи тяжіння і знешкодження для еквівалента однієї фізичної клітки.


void set_constant_force(force: Vector3) 🔗

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

Див. add_constant_force() і add_constant_central_force().


void set_constant_torque(torque: Vector3) 🔗

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

Див. add_constant_torque().