#1.ゲーム全体の重力を変更する方法
ゲーム全体の重力を変更するには、
Edit→Project Settings→Physicsを開いて、
InspectorのPhysicsManagerのGravityのVector3の値を変更するだけです!
デフォルトではy軸に-9.81 m/s^2 の力がかかっていますね。地球と同じです。
コードから変更する場合は、
Physics.gravity = new Vector3(0,10,0);
こんな感じでできます。
#2.特定のオブジェクトのみ重力を変更する方法
特定のオブジェクトに違う重力をかけたい場合は、
以下のコード(ChangeGravity.cs)をオブジェクトにアタッチして、
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ChangeGravity : MonoBehaviour
{
[SerializeField] private Vector3 localGravity;
private Rigidbody rBody;
// Use this for initialization
private void Start ()
{
rBody = this.GetComponent<Rigidbody>();
rBody.useGravity = false; //最初にrigidBodyの重力を使わなくする
}
private void FixedUpdate ()
{
SetLocalGravity (); //重力をAddForceでかけるメソッドを呼ぶ。FixedUpdateが好ましい。
}
private void SetLocalGravity()
{
rBody.AddForce (localGravity, ForceMode.Acceleration);
}
}
Inspectorから好きなVector3を入力してあげればOKです。
以上、重力を変更する方法でした。