Physics Debug ウィンドウでは、シーンの 3D 物理演算アクティビティの視覚的表示を設定して作成します。これらの可視化は シーンビュー に表示されます。
Unity エディターで Physics Debug ウィンドウを開くには、Window > Analysis > Physics Debugger に移動します。
Physics Debugger は、シーンビューに Physics debug panel を挿入し、以下のタブを含む Physics Debug ウィンドウを開きます。
Physics Debug ウィンドウをデフォルト設定に戻すには、Reset を選択します。
プロジェクトでの物理演算パフォーマンスの向上について、詳細は Physics Profiler に関するドキュメントを参照してください。
Unity で Physics Debug ウィンドウを開くと、Physics Debug パネルがシーンビューに表示されます。デフォルトでは、このパネルはシーンビューの右下に表示されますが、クリックアンドドラッグで移動できます。
| プロパティ | 説明 |
|---|---|
| Collision Geometry | Collision Geometry を有効にすると、シーンビューに衝突情報が可視化されます。Collision Geometry を無効にすると、シーンビューに衝突情報が表示されなくなります。 |
| Mouse Select | Mouse Select を有効にすると、マウスオーバーでのハイライトやマウス選択を使用できるようになります。これは、可視化で複数の大きなゲームオブジェクトが互いを遮っているときに便利です。 |
Info タブには、選択した Rigidbody または ArticulationBody ゲームオブジェクトに関するデータが表示されます。このデータを使用して、物理演算ボディの動作を監視できます。このタブのプロパティ値は編集できません。スクリプトで変更することはできますが、お勧めしません。これらの値を変更するには、ほとんどの場合は、代わりに物理演算システムを使用して力を加えてください。
特定のゲームオブジェクトを Info タブ内に永久に留めておくには、そのゲームオブジェクトの Lock を有効にします。ロックできるゲームオブジェクトの数に制限はありません。Info タブ内で操作しやすいように、Number of items per row プロパティで配置を調整します。
Info タブには常に以下のプロパティが表示されます。
| プロパティ | 説明 |
|---|---|
| Number of items per row |
Info タブの一番上の行に水平に表示する、選択されたゲームオブジェクトの数を定義します。 デフォルトでは、選択またはロックされた複数のゲームオブジェクトはすべて縦に表示されますが、水平に配置することもできます。Number of items per row では、1 つの行に水平に並べて表示するゲームオブジェクトの数を定義します。最大値は 10 です。 選択またはロックされたゲームオブジェクトの数が指定値を超えると、あとから選択されたゲームオブジェクトは、最初の行の下に新しい行として表示されます。 Info タブにはゲームオブジェクトがいつも選択順に表示されます。このプロパティのデフォルト値は 1 です。 |
| Tracked objects | Info タブに現在表示されている一意のゲームオブジェクトの総数を表示します。これには選択されたゲームオブジェクトとロックされたゲームオブジェクトが含まれます。重複は含まれません。 |
| Clear locked objects | Clear locked objects を選択すると、すべてのゲームオブジェクトの Lock が無効になります。したがって、Hierarchy ウィンドウで選択されていないゲームオブジェクトが Info タブから削除されます。 |
物理演算ボディ (Rigidbody または ArticulationBody) を持つゲームオブジェクトを Hierarchy で選択すると、Info タブに以下のプロパティが表示されます。
| プロパティ | 説明 |
|---|---|
| ゲームオブジェクト | 以下のプロパティが参照する、選択またはロックされたゲームオブジェクトの名前を表示します。 |
| Draw Gizmos for | Physics Debug がギズモを示す物理演算プロパティを選択します。 |
| - Center of Mass | 物理演算ボディの質量中心のグローバル位置を示すギズモを表示します (World Center of Mass を参照)。 |
| - Inertia Tensor | 物理演算ボディの慣性テンソルの回転とスケールを示すギズモを表示します (Inertia Tensor 参照)。 |
| Lock | Lock を有効にすると、Hierarchy ウィンドウで選択されていないゲームオブジェクトでも Info タブに表示されるようになります。 |
| Speed | 物理演算ボディが移動する速度のことで、単位はメートル毎秒 (m/s)。 |
| Velocity | 各ベクトルに沿った物理演算ボディの速度で、単位はメートル毎秒 (m/s)。 |
| AngularVelocity | 各ベクトルに沿った物理演算ボディの速度で、単位は度毎秒。 |
| Inertia Tensor | この物理計算ボディの慣性テンソル。慣性テンソルは、質量と同じように、物理演算ボディを動かすために必要な力やトルクを定義するプロパティです。ただし、質量が直線の動きに影響するのに対して、慣性テンソルは回転の動きに影響します。Inertia Tensor の値が大きいほど、物理演算ボディがその軸を中心に回転するのに必要なトルクも大きくなります。 |
| Inertia Tensor Rotation | 慣性テンソルの回転角度デフォルトでは、物理演算ボディにアタッチされているすべてのコライダーに基づいて、慣性テンソルの回転が自動的に計算されます。 |
| Local Center of Mass | 各ベクトルに沿った物理演算ボディの質量中心のローカル位置。スクリプトで質量中心を変更するには、centerOfMass を使用します。Unity はコライダーの配置に基づいて、質量中心を変更することもできます。 |
| World Center of Mass | 各ベクトルに沿った物理演算ボディの質量中心のグローバル位置。スクリプトで質量中心を変更するには、worldCenterOfMass を使用します。Unity はコライダーの配置に基づいて、質量中心を変更することもできます。 |
| Sleep State | 物理演算ボディのスリープ状態。物理演算ボディが起きていて物理計算に含まれている場合は、Awake と表示されます。物理演算ボディがスリープ状態で物理計算に含まれない場合は、Asleep と表示されます。 |
| Sleep Threshold | 物理演算ボディのエネルギーしきい値。この値を下回ったボディは、物理エンジンによる物理演算の更新に含まれなくなります。デフォルトでは、これは グローバル Physics Settings で定義された Sleep Threshold の値です。 |
| Max Linear Velocity | 物理演算ボディが到達できる最大の直線速度。maxLinearVelocity で定義されます。 |
| Max Angular Velocity | 物理演算ボディが到達できる最大の回転速度。maxAngularVelocity で定義されます。 |
| Solver Iterations | 物理システムソルバーがこの物理演算ボディに対して実行する必要のある反復回数。 |
| Solver Velocity Iteration | 物理システムソルバーがこの物理演算ボディに対して実行する必要のある速度イテレーションの回数。これにより、接触の弾性を考慮して、重なり合うゲームオブジェクトの出口速度が正しい値に近づきます。 |
| Body Index | ツリーの Articulation Body インデックス。このプロパティは Articulation Body に対してのみ表示されます。 |
Filtering タブには、どの物理演算要素を Physics Debug 可視化に表示するのかを設定するプロパティがあります。
| プロパティ | 説明 |
|---|---|
| Show Physics Scene | 複数の物理演算シーン を同時にロードした場合に、どの物理演算シーンを可視化に入れるのかを選択します。 |
| Show Unity Scene | 複数のシーン を同時にロードした場合に、どの Unity シーンを可視化に入れるのかを選択します。 |
| Show Layers | どの レイヤー を可視化に表示するのかを選択します。 |
| Show Static Colliders | Show Static Colliders を有効にすると、Rigidbody コンポーネントを持たないコライダーの可視化が表示されます。Show Static Colliders を無効にすると、Rigidbody コンポーネントを持たないコライダーの可視化は削除されます。 |
| Show Triggers | Show Triggers を有効にすると、トリガーであるコライダーの可視化が表示されます。Show Triggers を無効にすると、トリガーであるコライダーの可視化は削除されます。 |
| Show ignored files | Show Rigidbodies を有効にすると、Rigidbody コンポーネントの可視化が表示されます。Show Rigidbodies を無効にすると、Rigidbody コンポーネントの可視化は削除されます。 |
| Show Kinematic Bodies | Show Kinematic Bodies を有効にすると、Kinematic Rigidbody コンポーネントを持つコライダーの可視化が表示されます。Show Kinematic Bodies を無効にすると、Kinematic Rigidbody コンポーネントを持つコライダーの可視化は削除されます。 |
| Show Articulation Bodies | Show Articulation Bodies を有効にすると、ArticulationBody コンポーネントの可視化が表示されます。Show Articulation Bodies を無効にすると、ArticulationBody コンポーネントの可視化は削除されます。 |
| Show Sleeping Bodies | Show Sleeping Bodies を有効にすると、Sleeping Rigidbody コンポーネントを持つコライダーの可視化が表示されます。Show Sleeping Bodies を無効にすると、Sleeping Rigidbody コンポーネントを持つコライダーの可視化は削除されます。 |
| Collider Types | このオプションを使って物理演算可視化の指定したコライダータイプを非表示にできます。 |
| - Show BoxColliders | Show BoxColliders を有効にすると、Box Collider の可視化が表示されます。Show BoxColliders を無効にすると、Box Collider の可視化は削除されます。 |
| - Show SphereColliders | Show SphereColliders を有効にすると、Sphere Collider の可視化が表示されます。Show SphereColliders を無効にすると、Sphere Collider の可視化は削除されます。 |
| - Show CapsuleColliders | Show CapsuleColliders を有効にすると、Capsule Collider の可視化が表示されます。Show CapsuleColliders を無効にすると、Capsule Collider の可視化は削除されます。 |
| - Show MeshColliders (convex) | Show MeshColliders (convex) を有効にすると、Is Convex プロパティが有効になっている Mesh Collider の可視化が表示されます。Show MeshColliders (convex) を無効にすると、Is Convex プロパティが有効になっている Mesh Collider の可視化は削除されます。 |
| - Show MeshColliders (concave) | Show MeshColliders (concave) を有効にすると、Is Convex プロパティが無効になっているMesh Collider の可視化が表示されます。Show MeshColliders (concave) を無効にすると、Is Convex プロパティが無効になっている Mesh Collider の可視化は削除されます。 |
| - Show TerrainColliders | Show TerrainColliders を有効にすると、Terrain Collider の可視化が表示されます。Show TerrainColliders を無効にすると、Terrain Collider の可視化は削除されます。 |
| - Show None | Show None を選択すると、すべてのフィルタリング基準が消去され、すべてのコライダーが可視化から削除されます。 |
| - Show All | Show All を選択すると、すべてのフィルターが有効になり、すべてのコライダーの可視化が表示されます。 |
Rendering タブには、物理演算の可視化をレンダリングおよび表示する方法を設定するプロパティがあります。
| プロパティ | 説明 |
|---|---|
| Static Colliders | 可視化で静的コライダー (Rigidbody コンポーネントを持たないコライダー) を示す色を選択します。 |
| Triggers | 可視化でトリガーでもあるコライダーを表す色を選択します。 |
| Rigidbody | 可視化で Rigidbody コンポーネントを表す色を選択します。 |
| Kinematic Bodies | 可視化から Kinematic Rigidbody コンポーネントを表す色を選択します。物理演算システムは Kinematic Rigidbody コンポーネントを制御しません。 |
| ArticulationBody | 可視化で Articulation Body コンポーネント を表す色を選択します。 |
| Sleeping Bodies | 可視化から、Sleeping Rigidbody コンポーネント(現在、物理エンジンと連動していません) を表す色を選択します。 |
| Variation | 選択した色がどの程度ランダムな色とブレンドされるかを定義します。コライダーを色で視覚的に分けたり、ゲームオブジェクトの構造を見たりするのに使います。値は 0 から 1 の間で、デフォルトでは 0.15 に設定されています。 |
| Transparent | 可視化で描画される衝突ジオメトリの透明度を設定します。値は 0 から 1 の間で、デフォルトでは 0.5 に設定されています。 |
| Force Overdraw | Force Overdraw を有効にすると、可視化でコライダージオメトリがレンダージオメトリの上に表示されます。これは、レンダージオメトリがコライダーの可視化を隠している場合に便利です。Force Overdraw を無効にすると、コライダージオメトリがカメラに関連して表示されます。 |
| View Distance | 可視化のビュー距離を設定します。デフォルトでは、これは 1000 に設定されています。この値は単位で測定され、Unity のデフォルトでは 1 メートルと仮定されます。 |
| Terrain Size | 可視化での Terrain タイルの最大数を設定します。デフォルトでは、これは 60 に設定されています。 |
| Gizmos settings | Info タブが制御する Physics Debug ギズモを設定します。 |
| - Constant screen size | Constant screen size を有効にすると、Physics Debug ギズモがカメラからどの距離にあっても、画面上に同じサイズで表示されるようになります。Constant screen size を無効にすると、ギズモのサイズが透視に応じて拡大縮小されます。 |
| - Inertia Tensor scale | 慣性テンソルのベクトル 3 を乗算する値を定義します。これは、慣性テンソルが特に大きい場合に便利です。例えば、ベクトルの成分の比率を視覚化して観察する必要がある場合などです。 |
Contacts タブには、Physics Debug 可視化に表示されるコンタクトデータと、コンタクトのタイプ別に使用される色を設定するプロパティがあります。
| プロパティ | 説明 |
|---|---|
| Show Contacts | Show Contacts を有効にすると、接触の可視化が表示されます。 |
| - Show All Contacts |
Show All Contacts を有効にすると、すべての衝突接触データの可視化が Physics Debug 可視化に表示されます。Show All Contacts を無効にすると、Physics Debug 可視化に表示される接触データを制限できます。 Show All Contacts を無効にすると、以下の接触のみが可視化に表示されます。 - OnCollisionEnter、OnCollisionSay、または OnCollisionExit からメッセージを受け取る MonoBehaviour スクリプトを持つコライダー- providesContact プロパティが true に設定されているコライダー |
| - Show Impulse | Show Impulse を有効にすると、接触インパルスを表す矢印が可視化に表示されます。Show Impulse を無効にすると、インパルスの可視化が削除されます。 |
| - Show Separation | Show Separation を有効にすると、接触点の分離を表すセグメントとディスクが可視化に表示されます。Show Separation を無効にすると、分離の可視化が削除されます。 |
| - Use Filtering settings | Use Filtering settings を有効にすると、Filtering タブの設定を使用して、受け身の接触の可視化をフィルタリングできるようになります。Use filtering settings を無効にすると、Contacts タブの設定のみが使用されます。 |
| Contact colors | Unity が衝突接触データを示すために可視化で使用する色を選択します。 |
| Use varied colors | Use varied colors を有効にすると、各接触コライダーペアにランダムな色が使用されます。Use varied colors を無効にすると、プロパティ Contact color、Contact separation color、Contact impulse color で定義された 3 色が使用されます。 |
| Contact color | 接触を表す色を選択します。これは、接点を起点として接点法線方向を指す矢印として可視化に表示されます。 |
| Contact separation color | 接触分離を表す色を選択します。これは可視化ではセグメントとディスクとして表示されます。 |
| Contact impulse color | 接触インパルスを表す色を選択します。これは、インパルスの長さに等しい長さで、法線の方向を指す矢印として可視化に表示されます。 |
Queries タブには、Physics Debug 可視化に表示されるクエリタイプとその表示方法を設定するプロパティがあります。PhysX クエリについては、シーンクエリ と ジオメトリクエリ に関する NVIDIA PhysX のドキュメントを参照してください。
| プロパティ | 説明 |
|---|---|
| Show queries | Show queries を有効にすると、物理演算クエリの可視化が表示されます。 |
| Query color | 物理クエリを示すために Unity が可視化で使用する色を選択します。 |
| Show shapes | Physics Debug 可視化に表示されるクエリ形状を選択します。クエリ形状を有効にすると、その形状のクエリが可視化に表示されます。クエリ形状を無効にすると、その形状のクエリは可視化から削除されます。 これで HDRP がモーションベクトルをレンダリングできるようになります。オブジェクトモーションベクトルを有効にする場合は、デフォルトにより、新しいメッシュレンダラーがオブジェクトモーションベクトルを書きますので、注意してください。この動作を変更するには、メッシュレンダラーを選択し、Inspector で Motion Vectors プロパティーの値を変更します。 ! - Box 形状のクエリ - Capsule 形状のクエリ - Collider 形状のクエリ - Ray 形状のクエリ |
| Show types | 可視化に表示するクエリタイプを選択します。クエリタイプを有効にすると、そのタイプのクエリが可視化に表示されます。クエリタイプを無効にすると、そのタイプのクエリは可視化から削除されます。PhysX クエリタイプについては、ジオメトリクエリ に関する NVIDIA PhysX のドキュメントを参照してください。 これで HDRP がモーションベクトルをレンダリングできるようになります。オブジェクトモーションベクトルを有効にする場合は、デフォルトにより、新しいメッシュレンダラーがオブジェクトモーションベクトルを書きますので、注意してください。この動作を変更するには、メッシュレンダラーを選択し、Inspector で Motion Vectors プロパティーの値を変更します。 ! - Overlap クエリ - Check クエリ - Cast クエリ |
| Max Queries | Physics Debug が一度に可視化できるクエリの最大数を定義します。デフォルトでは、これは 100 に設定されています。 |
| Show None | Show None を選択すると、すべてのフィルタリング基準が可視化から消去され、すべてのクエリ形状とクエリタイプが可視化に表示されなくなります。 |
| Show All | Show All を選択すると、すべてのフィルターが有効になり、すべてのクエリ形状とクエリタイプが可視化に表示されます。 |