Version: 2022.1
言語: 日本語
リジッドボディへの補間の適用
Constant Force コンポーネントのリファレンス

Rigidbody コンポーネントのリファレンス

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 DetectionDiscrete に設定されています。各種の衝突判定に関する詳細は、CCD (連続的衝突判定) を参照してください。
- Discrete 物理演算システムが、非連続衝突判定を使用して、この Rigidbody のコライダーの衝突を計算します。高速な動きの衝突に関与しない Rigidbody の場合に Discrete を選択してください。Discrete 衝突判定は、あまり計算負荷が高くありません。
- Continuous 物理演算システムが、スイープに基づく CCD を使用して、この Rigidbody のコライダーと静的なコライダー (つまり、関連付けられた Rigidbody がないコライダー) との衝突を計算します。Continuous は、Rigidbody が静的コライダーとの高速な動きの衝突に関与している場合に選択してください。スイープに基づく CCD は、DiscreteContinuous Speculative よりも計算負荷が高くなります。
- Continuous Dynamic 物理演算システムが、スイープに基づく CCD を使用して、この Rigidbody のコライダーと (衝突判定が Discrete に設定されたコライダー以外の) 全てのコライダーとの間の衝突を計算します。Continuous Dynamic は、Rigidbody が高速な動きの衝突に関与する場合に選択してください。スイープに基づく CCD は、DiscreteContinuous Speculative よりも計算負荷が高くなります。
- Continuous Speculative 物理演算システムが、投機的 CCD を使用して、この Rigidbody のコライダーと他の全てのコライダーとの衝突を計算します。Continuous Speculative は、衝突の精度が重要でない Rigidbody の場合に選択してください。Speculative 衝突判定の計算負荷は、Discrete より高くなりますが、ContinuousContinuous Dynamic よりは低くなります。
Constraints Rigidbody の動きに制限を加えます。
- Freeze Position ワールド座標の選択した軸で Rigidbody の移動を停止します。
- Freeze Rotation ローカル座標の選択した軸で Rigidbody の回転を停止します。
リジッドボディへの補間の適用
Constant Force コンポーネントのリファレンス