PhysicsDirectBodyState2D
Успадковує: Object
Успадковано від: PhysicsDirectBodyState2DExtension
Забезпечує прямий доступ до фізичного тіла в PhysicsServer2D.
Опис
Забезпечує прямий доступ до фізичного тіла в PhysicsServer2D, що дозволяє безпечні зміни фізико-фізичних властивостей. Цей об'єкт пропускається через прямий державний зворотний зв'язок RigidBody2D, і призначений для зміни безпосереднього стану цього тіла. RigidBody2D._integrate_forces().
Посібники
Властивості
Методи
Описи властивостей
Швидкість обертання тіла в radians за секунду.
Vector2 get_center_of_mass()
Центр маси тіла відносно центру тіла у глобальній координатній системі.
Vector2 center_of_mass_local 🔗
Vector2 get_center_of_mass_local()
Центр маси тіла в локальній координатній системі тіла.
Шар зіткнення тіла.
Маска зіткнення тіла.
float get_inverse_inertia()
Інверс інерції тіла.
float get_inverse_mass()
Інверс маси тіла.
Лінійна швидкість тіла в пікселях на секунду.
Якщо true, це тіло зараз спить (не активний).
float get_step()
Часовий (delta) використовується для моделювання.
float get_total_angular_damp()
Швидкість, при якій тіло припиняє обертати, якщо інші сили не рухаються.
Vector2 get_total_gravity()
Вектор загальної ваги в даний час застосовується до цього тіла.
float get_total_linear_damp()
Швидкість, при якій тіло припиняє рух, якщо інші сили не рухаються.
Transform2D transform 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
Матриця трансформації тіла.
Описи методів
void add_constant_central_force(force: Vector2 = Vector2(0, 0)) 🔗
Додавання постійної спрямованої сили без ударної обертання, яка зберігає час, поки не очищається constant_force = Vector2(0, 0).
Це еквівалентно використанню add_constant_force() в центрі маси тіла.
void add_constant_force(force: Vector2, position: Vector2 = Vector2(0, 0)) 🔗
Додавання постійної позиціонованої сили до тіла, яка зберігає час, поки не очищається constant_force = Vector2(0, 0).
position – це зміщення з організму в глобальних координатах.
void add_constant_torque(torque: float) 🔗
Додає постійної обертальної сили, не впливаючи на позицію, яка зберігає час, поки не очищається constant_torque = 0.
void apply_central_force(force: Vector2 = Vector2(0, 0)) 🔗
Застосовується спрямована сила без ударного обертання. Знаряддя часу залежна і означена для кожного оновлення фізики.
Це еквівалентно використання apply_force() в центрі маси тіла.
void apply_central_impulse(impulse: Vector2) 🔗
Застосовується спрямований імпульс без впливу обертання.
Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).
Це еквівалентно використання apply_impulse() в центрі маси тіла.
void apply_force(force: Vector2, position: Vector2 = Vector2(0, 0)) 🔗
Застосовується сила позиціонування організму. Знаряддя часу залежна і означена для кожного оновлення фізики.
position – це зміщення з організму в глобальних координатах.
void apply_impulse(impulse: Vector2, position: Vector2 = Vector2(0, 0)) 🔗
Застосує поміщений імпульс до тіла.
Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).
position – це зміщення з організму в глобальних координатах.
void apply_torque(torque: float) 🔗
Застосовує обертальну силу, не впливаючи на положення. Сила залежить від часу та призначена для застосування під час кожного оновлення фізики.
Примітка: Для роботи цього потрібен inverse_inertia. Щоб мати inverse_inertia, активний CollisionShape2D має бути дочірнім елементом вузла, або ви можете вручну встановити inverse_inertia.
void apply_torque_impulse(impulse: float) 🔗
Застосовує обертальний імпульс до тіла без впливу на положення.
Імпульс часозалежний! Нанесення імпульсу кожного кадру призведе до каркасно-залежної сили. З цієї причини слід використовувати тільки при симуляції одноразових ударів (користування функції "_сил" інакше).
Примітка: inverse_inertia обов'язково для роботи. Для того, щоб мати inverse_inertia, активний CollisionShape2D повинен бути дитиною вузла, або ви можете вручну встановити inverse_inertia.
Vector2 get_constant_force() const 🔗
Під час кожного оновлення фізики повертається загальний стан сил тіла.
Див. add_constant_force() і add_constant_central_force().
float 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. Це залежить від того, як він був створений (поверніть вузол сцени, якщо це було використано для створення).
Vector2 get_contact_collider_position(contact_idx: int) const 🔗
Повертає позицію контактної точки на Collider у глобальній координатній системі.
int get_contact_collider_shape(contact_idx: int) const 🔗
Повертає індекс форми Collider.
Vector2 get_contact_collider_velocity_at_position(contact_idx: int) const 🔗
Повертаємо вектор швидкості на контактній точці комірця.
int get_contact_count() const 🔗
Повертає кількість контактів, що це тіло має інші тіла.
Примітка: За замовчуванням, це повертає 0, якщо органи налаштовані для моніторингу контактів. Див. RigidBody2D.contact_monitor.
Vector2 get_contact_impulse(contact_idx: int) const 🔗
Повертає імпульс, створений контактом.
Vector2 get_contact_local_normal(contact_idx: int) const 🔗
Повертає локальний нормаль в контактній точці.
Vector2 get_contact_local_position(contact_idx: int) const 🔗
Повертає позицію точки контакту на тілі у глобальній координаційній системі.
int get_contact_local_shape(contact_idx: int) const 🔗
Повертає індекс локальної форми зіткнення.
Vector2 get_contact_local_velocity_at_position(contact_idx: int) const 🔗
Повертаємо вектор швидкості на контактній точці тіла.
PhysicsDirectSpaceState2D get_space_state() 🔗
Повертає поточний стан простору, корисний для запитів.
Vector2 get_velocity_at_local_position(local_position: Vector2) const 🔗
Повертаємо швидкість тіла при даній відносній позиції, включаючи як переклад, так і обертання.
void integrate_forces() 🔗
Оновлює лінійну і кутову швидкість тіла, застосовуючи тяжіння і знешкодження для еквівалента однієї фізичної клітки.
void set_constant_force(force: Vector2) 🔗
Під час кожного оновлення фізики налаштовується загальна констанційна сила тіла.
Див. add_constant_force() і add_constant_central_force().
void set_constant_torque(torque: float) 🔗
Встановлює загальні постійні обертальні сили організму, що застосовуються під час кожного оновлення фізики.
Див. add_constant_torque().