Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Rigidbody.AddForce

マニュアルに切り替える
public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);
public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);

パラメーター

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

説明

Rigidbody に力を加えます

力は force ベクトルの方向に継続的に加えられます。ForceModemode を指定することによって、力のタイプを Acceleration、Impulse、VelocityChange に変えることができます。 力はアクティブのリジッドボディに対してのみ適用することができます。GameObject が非アクティブの場合、AddForce は効果がありません。

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

See Also: AddForceAtPosition, AddRelativeForce, AddTorque.

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

using UnityEngine;

public class ExampleClass : MonoBehaviour { public float thrust; 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);
public void AddForce(float x, float y, float z, ForceMode mode = ForceMode.Force);

パラメーター

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

説明

Rigidbody に力を加えます

力は /x/、/y/、/z/ベクトルの方向に継続的に加えられます。ForceModemode を指定することによって、力のタイプを Acceleration、Impulse、VelocityChange に変えることができます。 力はアクティブのリジッドボディに対してのみ適用することができます。GameObject が非アクティブの場合、AddForce は効果がありません。

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

See Also: AddForceAtPosition, AddRelativeForce, AddTorque.

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

using UnityEngine;

public class ExampleClass : MonoBehaviour { public float thrust; public Rigidbody rb;

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

void FixedUpdate() { rb.AddForce(0,0, thrust, ForceMode.Impulse); } }