Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Rigidbody.AddForceAtPosition

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function AddForceAtPosition(force: Vector3, position: Vector3, mode: ForceMode = ForceMode.Force): void;
public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);
public function AddForceAtPosition(force: Vector3, position: Vector3, mode: ForceMode = ForceMode.Force): void;
public void AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force);

Параметры

force Force vector in world coordinates.
position Position in world coordinates.

Описание

Применяет силу к / позиции/. В результате будет применено торможение и сила к объекту.

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

Force can be applied only to an active rigidbody. If a GameObject is inactive, AddForceAtPosition has no effect.

Wakes up the Rigidbody by default. If the force size is zero then the Rigidbody will not be woken up.

See Also: AddForce, AddRelativeForce, AddTorque.

	function ApplyForce (body : Rigidbody) {
		var direction : Vector3 = body.transform.position - transform.position;
		body.AddForceAtPosition(direction.normalized, transform.position);
	}
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); } }