Version: 2019.3
public void AddForce (Vector3 force, ForceMode mode= ForceMode.Force);

パラメーター

forceワールド座標における力のベクトル
mode適用する力のタイプ

説明

Rigidbody に力を加えます

力は force ベクトルの方向に継続的に加えられます。ForceMode の mode を指定することによって、力のタイプを Acceleration、Impulse、VelocityChange に変えることができます。

Applied Force is calculated in FixedUpdate or by explicitly calling the Physics.Simulate method.

Force can only be applied to an active Rigidbody. If a GameObject is inactive, AddForce has no effect. Also, the Rigidbody cannot be kinematic.

デフォルトでは、いちど力が加わると、力が Vector3.zero でない限りは Rigidbody の状態はオンに設定されます。

See Also: AddForceAtPosition, AddRelativeForce, AddTorque.

この例では GameObject の Rigidbody に前方への力を加えています。

using UnityEngine;

public class ExampleClass : MonoBehaviour { public float thrust = 1.0f; public Rigidbody rb;

void Start() { rb = GetComponent<Rigidbody>(); }

void FixedUpdate() { rb.AddForce(transform.forward * thrust); } }

public void AddForce (float x, float y, float z, ForceMode mode= ForceMode.Force);

パラメーター

xワールドの x 軸に沿った力のサイズ
yワールドの y 軸に沿った力のサイズ
zワールドの z 軸に沿った力のサイズ
mode適用する力のタイプ

説明

Rigidbody に力を加えます

この例では、GameObject の Rigidbody に対し Impulse タイプの力を Z 軸に沿って加えています。

using UnityEngine;

public class ExampleClass : MonoBehaviour { public float thrust = 1.0f; public Rigidbody rb;

void Start() { rb = GetComponent<Rigidbody>(); rb.AddForce(0, 0, thrust, ForceMode.Impulse); } }