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

Rigidbody.AddForceAtPosition

Declaration

public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);

Параметры

Параметр Описание
сила Вектор силы в мировых координатах.
должность Положение в мировых координатах.

Описание

Применяет force на position. В результате это будет применять крутящий момент и силу на объект.

Для реалистичных эффектов position Это наиболее часто используется для взрывов. При применении взрывов лучше применять силы на несколько кадров, а не только на один. Обратите внимание, что при применении взрывов на несколько кадров силы должны быть примерно в пределах поверхности жесткого тела. position находится далеко от центра жесткого тела, то приложенный крутящий момент будет нереально большим.

Усилие может быть приложено только к активному жесткому телу. GameObject является неактивным, AddForceAtPosition не имеет никакого эффекта.

Пробуждает Rigidbody по умолчанию. Если размер силы равен нулю, то Rigidbody не будет пробудиться.

Для получения дополнительной информации о том, как ForceMode влияет на скорость, см. Rigidbody.AddForce.

Примечание: Если вы используете ForceMode.Acceleration или ForceMode.VelocityChange, сила, прилагаемая AddForceAtPosition масштабируется по матрице тензора инерции мирового пространства.

Дополнительные ресурсы: AddForce, AddRelativeForce, AddTorque, inertiaTensor

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void ApplyForce(Rigidbody body) { Vector3 direction = body.transform.position - transform.position; body.AddForceAtPosition(direction.normalized, transform.position); } }