Rigidbody2D.totalForce
Declaration
public Vector2 totalForce;Описание
Общее количество силы, которое было явно применено к этому Rigidbody2D после последнего шага физического моделирования.
При добавлении силы к Rigidbody2D с помощью Rigidbody2D.AddForce, Rigidbody2D.AddForceAtPosition или Rigidbody2D.AddRelativeForce суммарная сила суммируется. Это применяется только при использовании ForceMode2D.Force и не при использовании ForceMode2D.Impulse.
Во время следующего этапа моделирования общая сила будет интегрирована во времени в Rigidbody2D.linearVelocity и затем автоматически сброшена до zero.
NOTE: Только Rigidbody2D с Динамическим Типом Корпуса будет реагировать на силу или крутящий момент. Установка этого свойства на Кинематическом Типе Корпуса или Статическом Типе Корпуса не будет иметь никакого эффекта.
using UnityEngine; using UnityEngine.Assertions;
public class Example : MonoBehaviour { void Start() { // Fetch the rigidbody. var body = GetComponent<Rigidbody2D>();
// Make the assumption the body has no previous force applied. Assert.AreEqual(Vector2.zero, body.totalForce);
// Initialize a force. var force = new Vector2(3f, 2f);
// Add the force. body.AddForce(force);
// The total force should be what we just added. Assert.AreEqual(force, body.totalForce);
// Add the same force again. body.AddForce(force);
// The total force should still be what we've added. Assert.AreEqual(force * 2f, body.totalForce);
// We can reset any force that has been applied since the last simulation step. body.totalForce = Vector2.zero; } }