Unity 6.3
0 онлайн 49 гостей 3 в системе
Вход

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; } }