PhysicsDirectBodyState3D
Успадковує: Object
Успадковано від: PhysicsDirectBodyState3DExtension
Забезпечує прямий доступ до фізичного тіла в PhysicsServer3D.
Опис
Забезпечує прямий доступ до фізичного тіла в PhysicsServer3D, що дозволяє безпечні зміни фізико-фізичних властивостей. Цей об'єкт пропускається через прямий державний зворотний зв'язок RigidBody3D, і призначений для зміни безпосереднього стану цього тіла. RigidBody3D._integrate_forces().
Посібники
Властивості
Методи
Описи властивостей
Швидкість обертання тіла в radians за секунду.
Vector3 get_center_of_mass()
Центр маси тіла відносно центру тіла у глобальній координатній системі.
Vector3 center_of_mass_local 🔗
Vector3 get_center_of_mass_local()
Центр маси тіла в локальній координатній системі тіла.
Шар зіткнення тіла.
Маска зіткнення тіла.
Vector3 get_inverse_inertia()
Інверс інерції тіла.
Basis inverse_inertia_tensor 🔗
Basis get_inverse_inertia_tensor()
Інверс інерції тензора тіла.
float get_inverse_mass()
Інверс маси тіла.
Лінійна швидкість тіла в блоках на секунду.
Basis principal_inertia_axes 🔗
Basis get_principal_inertia_axes()
There is currently no description for this property. Please help us by contributing one!
Якщо true, це тіло зараз спить (не активний).
float get_step()
Часовий (delta) використовується для моделювання.
float get_total_angular_damp()
Швидкість, при якій тіло припиняє обертати, якщо інші сили не рухаються.
Vector3 get_total_gravity()
Вектор загальної ваги в даний час застосовується до цього тіла.
float get_total_linear_damp()
Швидкість, при якій тіло припиняє рух, якщо інші сили не рухаються.
Transform3D transform 🔗
void set_transform(value: Transform3D)
Transform3D get_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().