Unityのリジッドボディ(Rigidbody)コンポーネントについて

man IT

リジッドボディ(Rigidbody)コンポーネントでは、ゲームオブジェクトが物理演算によって動作することを可能にし、重さ、空気抵抗、抗力などを設定することができます。

Rigidbody - Unity マニュアル
Rigidbody を使うと、ゲームオブジェクト を物理特性によって制御する事ができるようになります。リジッドボディに力やトルクを加えると、オブジェクトをリアリスティックに動かすことができます。重力の影響を加えたり、スクリプトを使って力を与えたり、NVIDIA PhysX 物理エンジンを通して他のオブジェクトと相互作用...
スポンサーリンク

リジッドボディコンポーネントの追加

rigid1
リジッドボディを追加するには、まずオブジェクトを選択した状態でコンポーネントの追加(Add Component)をクリックし、
rigid2
物理(Physics)
rigid3
リジッドボディ(Rigidbody)とクリックします。
rigid4
インスペクターにRigidbodyコンポーネントが追加されました。

2Dリジッドボディ

2drigid1
2Dゲームの場合は、2D用のリジッドボディを使うようにします(リファレンス)。コンポーネントの追加(Add Component)から2D物理
2drigid2
2Dリジッドボディ(Rigidbody 2D)とクリックします。

質量(Mass)

rigid5
質量(Mass)はオブジェクトの重さ(Kg)です。50を設定してゲームを実行すると、
mass
オブジェクトが重力に従って落ちていくのが確認できます。

抗力(Drag)

drag1
抗力(Drag)の値を変更すると、空気抵抗の強さを設定することができます。
drag
効力を20に設定してみると、ゆっくりとオブジェクトが落下するようになることが確認できます。
値は0.001で金属の塊、10で羽根という目安だそうです。

角抗力(Angular Drag)

angulardrag
角抗力(Angular Drag)は回転に対する空気抵抗を意味し、数値を増やすと回転が止まりやすくなります。
angulardrag1
これが角抗力0.05の場合で、
angulardrag2
これが2の場合です。

Use Gravity

usegravity
Use Gravityでは、ゲームオブジェクトが重力に影響を受けるかどうかを選択できます。
usegravity2
チェックを外すとオブジェクトが自由落下しなくなります。

Constraints

constraints1
直訳すると「制約」。Constraintsでチェックを付けた方向への移動/回転をできなくすることができます。
たとえばY方向への移動を禁止すれば上下運動ができなくなりますし、
constraints3
逆にxとzだけ移動を禁止したボールを落下させると、
const2
こんな感じで縦方向しか移動しないボールになります。
constraints2
回転の場合、何かに接触して回転を始めた瞬間に制限がかかります。
const
たとえばこんな感じで、落下までは普通ですが、回転してから制限がかかってぴたっと止まります。
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント