Unity5で重力を反転させる

2015年8月29日

重力を反転させたくなったので調べてみたのですが、Unity5 では、まだ重力を反転させて上方向に向ける機能は付いていないようなので、スクリプトでそれらしい効果を出すようにしました。

1. オブジェクトの Component に Rigidbody を追加します。Rigidbody の「Use Gravity」にはチェックを入れておきます。
2. オブジェクトにスクリプトを設定する。
3. スクリプトの Update() に、以下のような処理を書きます。

Physics.gravity = Vector3.up * 9.8F;

最後の数値は適当に調整してください。
“1.0F" とかにすると、ゆっくり上昇していきます。

単純に上昇させたり下降させたりするだけなら、「Use Gravity」を使用しなくても実現できます。
以下のようにすると、対象のオブジェクトをひたすら上昇させることができます。

public class SampleScript : MonoBehaviour
{
    private Rigidbody characterRB;
    private float forceCoef = 0;

    void Start()
    {
        // 対象の Rigidbody を取得する.
        characterRB = GetComponent ();
    }

    void FixedUpdate()
    {
        // 上昇させる場合.
        characterRB.AddForce (Vector3.up * forceCoef);
        forceCoef += 10;
    }
}

おしまい。

スポンサーリンク

C#,Unity,Unity5C#,Unity,Unity5

Posted by peliphilo