Unityゲーム開発者アイデルンのBlog

よかったら読んでいってね

オブジェクトを移動する方法その3

では最後に

 

Rigitbodyコンポーネントを利用し物理演算で移動させる方法をご紹介します。

 

使い方

 

Rigitbodyコンポーネントを使うこと前提なのでオブジェクトにコンポーネントを追加をまずしてください。

 

GetcomponentでアクセスするのでStart関数に最初に代入するようにします

 

RigitBody rb;

 

void Start()

{

    rb=Getcomponent<Rigitbody>();

}

 

これで準備が整いました。

 

では具体的なやり方は第一回で書いたものとほとんど同じになります。

 

代わりにRigitbodyを使用しただけで書き方自体はさほど変わりません。

 

例:

 

rb.velocity=new Vector3(1,0,0);

 

Start関数やUpdate関数に入れると右へ動くようになります。

 

ではTransform移動と何が違うのかと言うと物理演算を使っているところが違います。

 

Transform移動だとそのまま移動しますが物理演算を使うと重力のシミュレートが簡単にできるようになります。

 

デフォルト状態だと重力があるので実際の動きは右に行きながら下に落ちていく動きになります。

 

なのでコンポーネントで重力を切るか使うかどれぐらいの力でとかなど簡単に指定することができます。

 

例えばジャンプ移動するときTransformを使うと座標自体を変更しているので瞬間移動するようになるのですがRigitbodyを使うと一瞬だけ力を入れたりと現実世界と同じようなことができるようになります。

 

これもゲームによって使いどころがあるのでご自身のゲームでどれを使用するのかやってみましょう。