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

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

Switch to Scripting

Rigidbody コンポーネントを使用して、ゲームオブジェクトに Rigidbody を適用できます。Rigidbody は、ゲームオブジェクトの動きや位置を物理ベースで制御する方法を提供します。Transform プロパティを使用する代わりに、シミュレートされた物理的な力とトルクを使ってゲームオブジェクトを動かし、物理演算エンジンに結果を計算させることができます。詳細は リジッドボディの物理演算の概要 を参照してください。

Rigidbody のパフォーマンスをモニタリングするには、Physics Debug 可視化 ツールを使用します。

プロパティ

プロパティ 機能
Mass ゲームオブジェクトの質量をキログラム単位で定義します。デフォルトでは Mass は 1 に設定されています。現実世界と同様に、質量は物が重力によって落下する速さには影響しません。動きを遅くする抵抗力をシミュレートするには、Drag を使用してください。
Drag 抗力、空気抵抗、あるいは摩擦をシミュレートするために、Rigidbody の直線速度の減衰率を定義します。値を低くすると減衰速度が遅くなり、ゲームオブジェクトがより長く速く動きます (これは、現実世界の重い物体のシミュレーションに役立ちます)。値を高くすると減衰速度が速くなり、ゲームオブジェクトが短時間で減速します (これは、現実世界の軽い物体のシミュレーションに役立ちます)。
Angular Drag 抗力、空気抵抗、あるいは摩擦をシミュレートするために、Rigidbody の回転速度の減衰率を定義します。値を低くすると減衰速度が遅くなり、ゲームオブジェクトがより長く速く動きます (これは、現実世界の重い物体のシミュレーションに役立ちます)。値を高くすると減衰速度が速くなり、ゲームオブジェクトが短時間で減速します (これは、現実世界の軽い物体のシミュレーションに役立ちます)。Angular Drag を無限大に設定しても、ゲームオブジェクトの回転を止めることはできません。Angular Drag はデフォルトでは 0.05 に設定されています。
Automatic Center Of Mass 物理演算システムが Rigidbody の形状とスケールに基づいて予測した重心を使用するには、Automatic Center Of Mass を有効にしてください。重心の X、Y、Z 座標を独自に設定する場合は無効にしてください。
Automatic Tensor Automatic Tensor を有効にすると、接続されているすべてのコライダーに基づいて物理演算システムが予測したテンソルとテンソルの回転を Rigidbody に使用します。質量と同様に、慣性テンソルは Rigidbody を動かすために必要な力やトルクを定義します。ただし、質量が直線運動に影響するのに対し、慣性テンソルは回転運動に影響します。テンソルの X、Y、Z 座標を独自に設定するには、この設定を無効にしてください (以下のプロパティを参照)。
- Inertia Tensor Rigidbody の慣性テンソルを定義します。Inertia Tensor の値が大きいほど、Rigidbody がその軸を中心に回転するために必要なトルクが大きくなります。
- Inertia Tensor Rotation 慣性テンソルの回転を定義します。
Use Gravity Rigidbody に重力の影響を与えるかどうかを切り替えられます。有効にすると、物理演算システムによって、シミュレートされた重力の方向 (デフォルトでは y 軸上で下方) にゲームオブジェクトを動かす力が加えられます。Use Gravity はデフォルトでは有効になっています。
Is Kinematic ゲームオブジェクトの動きを、物理ベースとキネマティックとの間で切り替えられます。Is Kinematic を有効にすると、物理演算システムは、ゲームオブジェクトを移動/回転させる力を加えることができません。その代わりに Unity が Transform によってゲームオブジェクトを移動/回転させます。詳細は リジッドボディの物理演算の概要: 物理ベースで動かないリジッドボディ を参照してください。Is Kinematic は、デフォルトでは無効になっています。
Interpolate Rigidbody の Interpolate 設定に、ランタイムで Rigidbody の動きにジッターが見られる場合にその見た目を滑らかにする 2 つのオプションが提供されています。そのオプションとは InterpolateExtrapolate です。

内挿と外挿はどちらも、物理演算の更新と更新の間に Rigidbody のポーズ (つまり位置と回転) を計算します。どちらのオプションを使用するかは、使用目的に応じて、より良いビジュアルが実現できるほうを選択してください。

Interpolate プロパティの詳細については、リジッドボディへの補間の適用 を参照してください。
- None 内挿も外挿も適用しません。これは、デフォルトの設定です。
- Interpolate 直前の 2 回の物理演算更新の Rigidbody のポーズを使用し、現在のフレームの Rigidbody のポーズを計算して適用します。

内挿は外挿よりも正確ですが、物理演算の更新 1 回分の遅れが生じます。通常、内挿は精度が重要である場合に最も適しています。例えば、Rigidbody の速度が変化する場合や、他に Rigidbody の動きに影響を与える物理演算要素がある場合です。
- Extrapolate 直前の物理演算更新の Rigidbody のポーズを使用して、次の物理演算更新の Rigidbody のポーズを予測することで、現在のフレームの Rigidbody のポーズを計算します。

外挿を使用すると、Rigidbody が本来あるべき位置より少し先を動いているように見え、精度がわずかに落ちる可能性があります。通常、外挿は精度が重要でない場合に最も適しています。例えば、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 の場合に選択してください。投機的 CCD の計算負荷は、Discrete より高くなりますが、ContinuousContinuous Dynamic よりは低くなります。
Constraints Rigidbody の動きに制限を加えます。
- Freeze Position ワールド座標の選択した軸で Rigidbody の移動を停止します。
- Freeze Rotation ローカル座標の選択した軸で Rigidbody の回転を停止します。

Layer Overrides

Layer Overrides セクションには、この Rigidbody にアタッチされている全コライダーのプロジェクト全体の レイヤーベースの衝突判定 設定をオーバーライドできるプロパティーがあります。

プロパティ 説明
Layer Override Priority この Rigidbody にアタッチされているコライダーをオーバーライドするコライダーの優先順位を定義します 。コライダーのオーバーライドが競合する場合、Unity は優先順位の高い値のコライダーの設定を使用します。
例えば、Layer Override Priority が 1 のコライダーがLayer Override Priority が 2 のコライダーと衝突した場合、物理演算システムは Layer Override Priority が 2 のコライダーの設定を使用します。
Include Layers この Rigidbody にアタッチされたコライダーとの衝突にどのレイヤーを加えるかを選択します。
Exclude Layers この Rigidbody にアタッチされたコライダーとの衝突で除外するレイヤーを選択します。

Rigidbody

リジッドボディへの補間の適用
Constant Force コンポーネントのリファレンス