unity リジッドボディ(Rigidbody)の使い方を覚えよう

Unity

今回はリジッドボディの使い方を見ていきます。 

リジッドボディは基礎中の基礎なのでちゃんと覚えておきましょう。

リジッドボディは、一言で言えば物理挙動をつけてくれる 

コンポーネントのことです。 

これをつけることによって、重力をつけたり

コライダーによる、衝突判定ができたりします。

※ 衝突判定をする場合は、片方にリジッドボディをつける必要があります。 

リジッドボディは、 3D用と2D用で分かれていますので

そこが注意ポイントになります。 

3Dのリジッドボディ

3D用のリジッドボディだと 

このような項目があります。

Use Gravity  重力の影響について
Is Kinematic  物理演算の影響について
補完      動きをなめらかにしてくれる
衝突判定    衝突の検知方法について
Constraints   固定について 

重力をつけたい場合は、Use Gravityにチェックを入れる 

物理演算の影響を受けたくない場合は、Is Kinematicにチェックを入れる

オブジェクトを固定したい場合は、Constraintsにチェックを入れる感じです。 

2Dのリジッドボディ

2D用のリジッドボディの場合 

ボディタイプというのがついています。 

ボディタイプは3つありまして 

  1. 動的
  2. キネマティック
  3. 静的 

の3つです。 

動的とキネマティックでは 何が違うのか??

動的とキネマティックを比較してみましょう。 

以下の画像では、 動的に設定しています。 

これを実行してみると、 その場で回転をするのですが

【回転のスクリプトがついています】 

重力が働いているので、 Y軸がどんどん下がってしまいます。

これが動的の状態ですね。 

しかし、 これをキネマティックに変更してあげると 

それが解消されて 重力はかかりません。

【オブジェクトが落下しなくなる】 

ですので、このように オブジェクトをスクリプトで動かしたい場合などは 

キネマティックにして、重力だけをなくしてあげるとスムーズな動きが

できるというわけですね。

※注意ポイントとしては、 キネマティック同士だとすり抜けてしまうので 

当たり判定をしたいときは、動的にしないとだめです。

コメント