プロジェクト全体の重力を変える
プロジェクト全体の重力の強さは、「ProjectSettings → Physics → Gravity」の値を変更することで設定することが出来ます。
初期値は、Y軸の値のみ設定されていますが、X軸とZ軸も値を設定することが出来ます。
オブジェクト単体の重力を変える
using UnityEngine;
public class Gravity : MonoBehaviour
{
private Rigidbody _rigidbody;
public float gravity = -9.81f;
private void Awake()
{
_rigidbody = GetComponent<Rigidbody>(); //Rigidbodyを取得する
_rigidbody.useGravity = false; //RigidbodyのuseGravityを無効化する
}
private void FixedUpdate()
{
_rigidbody.AddForce(Vector3.up * gravity, ForceMode.Acceleration); //重力をかけ続ける
}
}
オブジェクト単体重力のみを変えるときは、専用のスクリプトを実装する必要があります。
スクリプトの内容としては、RigidbodyのuseGravityをOFFにして、FixedUpdate内で自前の重力をかけ続けています。
gravity変数の値を変えることで、重力の強さを変えることが出来ます。
スクリプトを書いたら、重力を変更したいゲームオブジェクトにアタッチして、動作を確認します。
問題なく、落下速度が変わっていれば作業は終了です!
お疲れさまでした!