Rigidbody コンポーネントを使用して、ゲームオブジェクトに Rigidbody (リジッドボディ) を適用できます。Rigidbody は、ゲームオブジェクトの動きや位置を物理ベースで制御する方法を提供します。Transform プロパティを使用する代わりに、シミュレートされた物理的な力とトルクを使ってゲームオブジェクトを動かし、物理演算エンジンに結果を計算させることができます。詳細は Rigidbody の物理演算の概要 を参照してください。
Rigidbody のパフォーマンスをモニタリングするには、Physics Debug ビジュアライゼーション ツールを使用します。
プロパティ | 機能 |
---|---|
Mass | ゲームオブジェクトの質量をキログラム単位で定義します。デフォルトでは Mass は 1 に設定されています。現実世界と同様に、質量 (mass) は、物が重力によって落下する速さには影響しません。動きを遅くする抵抗力をシミュレートするには、Drag を使用してください。 |
Drag | 抵抗、空気抵抗、あるいは摩擦をシミュレートするために、Rigidbody の直線速度の減衰率を定義します。値を低くすると減衰速度が遅くなり、ゲームオブジェクトがより長く速く動きます (これは、現実世界の重い物体のシミュレーションに役立ちます)。値を高くすると減衰速度が速くなり、ゲームオブジェクトが短時間で減速します (これは、現実世界の軽い物体のシミュレーションに役立ちます)。 |
Angular Drag | 抵抗、空気抵抗、あるいは摩擦をシミュレートするために、Rigidbody の回転速度の減衰率を定義します。値を低くすると減衰速度が遅くなり、ゲームオブジェクトがより長く速く動きます (これは、現実世界の重い物体のシミュレーションに役立ちます)。値を高くすると減衰速度が速くなり、ゲームオブジェクトが短時間で減速します (これは、現実世界の軽い物体のシミュレーションに役立ちます)。Angular Drag を無限大に設定しても、ゲームオブジェクトの回転を止めることはできません。Angular Drag はデフォルトでは 0.05 に設定されています。 |
Use Gravity | Rigidbody に重力の影響を与えるかどうかを切り替えられます。有効にすると、物理演算システムによって、シミュレートされた重力の方向 (デフォルトでは y 軸上で下方) にゲームオブジェクトを動かす力が加えられます。Use Gravity はデフォルトでは有効になっています。 |
Is Kinematic | ゲームオブジェクトの動きを、物理ベースとキネマティックとの間で切り替えられます。Is Kinematic を有効にすると、物理演算システムは、ゲームオブジェクトを移動/回転させる力を加えることができません。その代わりに Unity が Transform によってゲームオブジェクトを移動/回転させます。詳細は Rigidbody の物理演算の概要: 物理ベースの動きをしない Rigidbody を参照してください。Is Kinematic は、デフォルトでは無効になっています。 |
Interpolate | Rigidbody の Interpolate (補間) 設定は、ランタイムで Rigidbody のモーションにジッターが見られる場合に、その見た目を滑らかにする 2 つのオプションを提供します。そのオプションとは Interpolate (内挿) と Extrapolate (外挿) です。 内挿と外挿はどちらも、物理演算の更新と更新の間に Rigidbody のポーズ (つまり位置と角度) を計算します。 どちらのオプションを使用するかは、ユースケースによって、より良いビジュアルが実現できるほうを選択してください。Interpolate プロパティの詳細については、Rigidbody への補間の適用 を参照してください。 |
- None | 内挿も外挿も適用しません。これがデフォルトのオプションです。 |
- Interpolate | 直前の 2 回の物理演算更新の Rigidbody のポーズと速度を使用して、現在のフレームの Rigidbody のポーズを計算し、適用します。 Interpolate は Extrapolate よりも正確ですが、物理演算更新 1 回分のタイムラグがあります。Interpolate の使用は通常、正確さが重要な場合に適しています。例えば、Rigidbody の速度が変化する場合や、他に Rigidbody の動きに影響を与える物理演算要素がある場合などです。 |
- Extrapolate | 直前の物理演算更新の Rigidbody のポーズと速度を使用して、次の物理演算更新の Rigidbody のポーズを予測することで、現在のフレームの Rigidbody のポーズの計算と予測を行います。 Extrapolate を使用すると、Rigidbody が本来あるべき位置より少し先を動いているように見え、若干不正確になることがあります。Extrapolate の使用は通常、正確さが重要でない場合に適しています。例えば、Rigidbody が一定の速度で動き、他に Rigidbody の動きに影響を与える物理演算要素がない場合などです。 |
Collision Detection | 物理演算システムがこの Rigidbody のコライダーとシーン内の他のコライダーとの衝突を判定する方法の定義です。Unity はコライダーのペアごとに 1 つのコリジョンを生成し、この Collision Detection プロパティに基づいて、衝突判定の方法を決定します。 デフォルトでは、Collision Detection は Discrete に設定されています。各種の衝突判定に関する詳細は、CCD (連続的衝突判定) を参照してください。 |
- Discrete | 物理演算システムが、非連続衝突判定を使用して、この Rigidbody のコライダーの衝突を計算します。高速な動きの衝突に関与しない Rigidbody の場合に Discrete を選択してください。Discrete 衝突判定は、あまり計算負荷が高くありません。 |
- Continuous | 物理演算システムが、スイープに基づく CCD を使用して、この Rigidbody のコライダーと静的なコライダー (つまり、関連付けられた Rigidbody がないコライダー) との衝突を計算します。Continuous は、Rigidbody が静的コライダーとの高速な動きの衝突に関与している場合に選択してください。スイープに基づく CCD は、Discrete や Continuous Speculative よりも計算負荷が高くなります。 |
- Continuous Dynamic | 物理演算システムが、スイープに基づく CCD を使用して、この Rigidbody のコライダーと (衝突判定が Discrete に設定されたコライダー以外の) 全てのコライダーとの間の衝突を計算します。Continuous Dynamic は、Rigidbody が高速な動きの衝突に関与する場合に選択してください。スイープに基づく CCD は、Discrete や Continuous Speculative よりも計算負荷が高くなります。 |
- Continuous Speculative | 物理演算システムが、投機的 CCD を使用して、この Rigidbody のコライダーと他の全てのコライダーとの衝突を計算します。Continuous Speculative は、衝突の精度が重要でない Rigidbody の場合に選択してください。Speculative 衝突判定の計算負荷は、Discrete より高くなりますが、Continuous や Continuous Dynamic よりは低くなります。 |
Constraints | Rigidbody の動きに制限を加えます。 |
- Freeze Position | ワールド座標の選択した軸で Rigidbody の移動を停止します。 |
- Freeze Rotation | ローカル座標の選択した軸で Rigidbody の回転を停止します。 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.