はじめに
Unityでゲームを作る時、動きやぶつかり合いがリアルに見えるようにするのが大事ですよね。そのために役立つのが「Rigidbody」という機能です。Rigidbodyを使うと、物体に重さや速度など、本物の物体みたいな動きを加えることができます。この記事では、Rigidbodyの基本的な使い方を説明します。
Rigidbodyとは
Rigidbodyは、Unity内でオブジェクトに物理的な特性を加えるためのコンポーネントです。これを使うことで、オブジェクトが重力の影響を受けたり、他のオブジェクトとぶつかったりします。例えば、ボールが坂を転がり落ちるような動きや、箱が重なり合って崩れるようなシーンを作ることができます。
Rigidbodyの設定方法
- オブジェクトを選ぶ
Unityのエディタで、動かしたいオブジェクトをクリックして選びます。 - Rigidbodyを追加
インスペクターウィンドウにある「Add Component」ボタンをクリックし、「Rigidbody」を選んで追加します。 - 設定を調整する
Rigidbodyにはいくつかの設定があります。主に次のような設定をします:- Mass (質量): オブジェクトの重さです。数値が大きいほど重くなります。
- Drag (抵抗): 空気や水の抵抗を表します。高い値を設定すると、動きが鈍くなります。
- Use Gravity (重力を使用): これにチェックを入れると、オブジェクトに重力が働きます。
- Is Kinematic (運動学を使用): これを有効にすると、スクリプトでのみオブジェクトを動かすことができ、物理法則の影響を受けなくなります。

Rigidbodyでできること
- オブジェクトを動かす: スクリプトを使ってオブジェクトに力を加えたり、速度を変えたりできます。
- 衝突を検出する: 他のオブジェクトとぶつかったときに何かを起こすプログラムを書くことができます。
簡単な例
以下は、ボールに少し力を加えて前に進ませる簡単なスクリプトの例です。
using UnityEngine;
public class MoveBall : MonoBehaviour
{
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(new Vector3(0, 0, 500));
}
}
}
このスクリプトをボールのオブジェクトに追加して、スペースキーを押すと、ボールが前に進みます。

まとめ
RigidbodyはUnityで物理的な動きを作り出す非常に便利なツールです。この記事で基本的な使い方を学べば、ゲームにもっと面白い動きを加えることができるようになります。楽しみながら、いろいろな設定を試してみてくださいね!