リジッドボディ(Rigidbody)コンポーネントでは、ゲームオブジェクトが物理演算によって動作することを可能にし、重さ、空気抵抗、抗力などを設定することができます。
![](https://sunagitsune.com/wp-content/uploads/cocoon-resources/blog-card-cache/179617183b24f6aece6b556d7b428c60.png)
Rigidbody - Unity マニュアル
Rigidbody を使うと、ゲームオブジェクト を物理特性によって制御する事ができるようになります。リジッドボディに力やトルクを加えると、オブジェクトをリアリスティックに動かすことができます。重力の影響を加えたり、スクリプトを使って力を与えたり、NVIDIA PhysX 物理エンジンを通して他のオブジェクトと相互作用...
リジッドボディコンポーネントの追加
![rigid1](https://sunagitsune.com/wp-content/uploads/2021/01/rigid1-650x475.jpg)
リジッドボディを追加するには、まずオブジェクトを選択した状態でコンポーネントの追加(Add Component)をクリックし、
![rigid2](https://sunagitsune.com/wp-content/uploads/2021/01/rigid2.jpg)
物理(Physics)→
![rigid3](https://sunagitsune.com/wp-content/uploads/2021/01/rigid3.jpg)
リジッドボディ(Rigidbody)とクリックします。
![rigid4](https://sunagitsune.com/wp-content/uploads/2021/01/rigid4.jpg)
インスペクターにRigidbodyコンポーネントが追加されました。
2Dリジッドボディ
![2drigid1](https://sunagitsune.com/wp-content/uploads/2021/02/2drigid1.png)
2Dゲームの場合は、2D用のリジッドボディを使うようにします(リファレンス)。コンポーネントの追加(Add Component)から2D物理、
![2drigid2](https://sunagitsune.com/wp-content/uploads/2021/02/2drigid2.png)
2Dリジッドボディ(Rigidbody 2D)とクリックします。
質量(Mass)
![rigid5](https://sunagitsune.com/wp-content/uploads/2021/01/rigid5.jpg)
質量(Mass)はオブジェクトの重さ(Kg)です。50を設定してゲームを実行すると、
![mass](https://sunagitsune.com/wp-content/uploads/2021/01/mass.gif)
オブジェクトが重力に従って落ちていくのが確認できます。
抗力(Drag)
![drag1](https://sunagitsune.com/wp-content/uploads/2021/01/drag1.jpg)
抗力(Drag)の値を変更すると、空気抵抗の強さを設定することができます。
![drag](https://sunagitsune.com/wp-content/uploads/2021/01/drag.gif)
効力を20に設定してみると、ゆっくりとオブジェクトが落下するようになることが確認できます。
値は0.001で金属の塊、10で羽根という目安だそうです。
値は0.001で金属の塊、10で羽根という目安だそうです。
角抗力(Angular Drag)
![angulardrag](https://sunagitsune.com/wp-content/uploads/2021/01/angulardrag.jpg)
角抗力(Angular Drag)は回転に対する空気抵抗を意味し、数値を増やすと回転が止まりやすくなります。
![angulardrag1](https://sunagitsune.com/wp-content/uploads/2021/01/angulardrag1.gif)
これが角抗力0.05の場合で、
![angulardrag2](https://sunagitsune.com/wp-content/uploads/2021/01/angulardrag2.gif)
これが2の場合です。
Use Gravity
![usegravity](https://sunagitsune.com/wp-content/uploads/2021/01/usegravity.jpg)
Use Gravityでは、ゲームオブジェクトが重力に影響を受けるかどうかを選択できます。
![usegravity2](https://sunagitsune.com/wp-content/uploads/2021/01/usegravity2.jpg)
チェックを外すとオブジェクトが自由落下しなくなります。
Constraints
![constraints1](https://sunagitsune.com/wp-content/uploads/2021/01/constraints1.jpg)
直訳すると「制約」。Constraintsでチェックを付けた方向への移動/回転をできなくすることができます。
たとえばY方向への移動を禁止すれば上下運動ができなくなりますし、
たとえばY方向への移動を禁止すれば上下運動ができなくなりますし、
![constraints3](https://sunagitsune.com/wp-content/uploads/2021/01/constraints3.jpg)
逆にxとzだけ移動を禁止したボールを落下させると、
![const2](https://sunagitsune.com/wp-content/uploads/2021/01/const2.gif)
こんな感じで縦方向しか移動しないボールになります。
![constraints2](https://sunagitsune.com/wp-content/uploads/2021/01/constraints2.jpg)
回転の場合、何かに接触して回転を始めた瞬間に制限がかかります。
![const](https://sunagitsune.com/wp-content/uploads/2021/01/const.gif)
たとえばこんな感じで、落下までは普通ですが、回転してから制限がかかってぴたっと止まります。
![](https://sunagitsune.com/wp-content/uploads/2021/07/computer-1343393_1280-160x90.jpg)
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。
コメント