スマゲ

スマートなゲームづくりを目指して日々精進

Unityで重力加速度を変更する

Unityで重力加速度を変更する方法です

  • 方法1

インスペクターからの編集
Menu -> Edit -> Project Settings -> Physics のGravityで値を変更できます
初期値は x: 0 y: -9.81 z:0 で地球と同じ設定になっていますf:id:sanukin39:20150216001116p:plain
例えばこの設定を x: 0 y: 9.81 z: 0 としてあげるとものが上に落っこちるようにすることが出来ます

  • 方法2

スクリプトからの編集
UnityのPhysicsクラスで指定できます
以下使用例

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        Physics.gravity = Vector3.zero;
    }
}

Exampleメソッドを呼ぶことによって重力加速度を変えることが出来ます

まとめ
無重力ゲームも簡単に作成できる
毎回インスペクターから編集するのは面倒なうえ、ゲーム全体でその重力が共有されてしまうので、必要になるたびにスクリプトで変更するのがいいかな

参照

Unity - Scripting API: Physics.gravity