force | ワールド座標における力のベクトル |
mode | 適用する力のタイプ |
Rigidbody に力を加えます
力は force
ベクトルの方向に継続的に加えられます。ForceMode の mode
を指定することによって、力のタイプを 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); } }
x | ワールドの x 軸に沿った力のサイズ |
y | ワールドの y 軸に沿った力のサイズ |
z | ワールドの z 軸に沿った力のサイズ |
mode | 適用する力のタイプ |
Rigidbody に力を加えます
力は /x/、/y/、/z/ベクトルの方向に継続的に加えられます。ForceMode の mode
を指定することによって、力のタイプを 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); } }