Chaos Vehicles (ケイオス ビークル) には多様なデバッグ コマンドが用意されていて、ビークルのシミュレーション中に起きていることを視覚化できます。ビークル固有のコマンドはすべて p.vehicle で始まります。これらのコマンドを有効にするには、「1」を追加し、無効にするには、「0」を追加します。これらのコマンドでは、ビークルの物理機能の有効/無効の切り替えや、シーンでのデバッグラインのレンダリングを実行します。
デバッグ レンダリング コマンドの多くは、物理スレッドから呼び出されます。シーンで視覚化が可能になる前に、p.chaos.debugdraw.enabled 1 コマンドで有効にする必要があります。
汎用コマンド
汎用コマンドは、すべての種類のビークルに適用でき、力と位置の視覚化や、機能と力の無効化を行います。
力と位置を視覚化する
コマンド | 説明 |
---|---|
p.Vehicle.ShowCOM |
重心の表示を有効/無効にします。 |
p.Vehicle.ShowModelOrigin |
原点の表示を有効 / 無効にします。 |
p.Vehicle.ShowAerofoilForces |
エアロフォイルにかかる力の視覚化を有効 / 無効にします。 |
p.Vehicle.ShowAerofoilSurface |
エアロフォイルのサーフェスの視覚化を有効 / 無効にします。 |
p.Vehicle.ShowAllForces |
すべての力の視覚化を有効 / 無効にします。 |
p.Vehicle.SetForceDebugScaling |
力を表示するときのスケールを設定します。力が大きく、表示される線が長くなる場合は、スケールに小さい値を使用して、レンダリングされる線を短くします。 |
機能と力を無効化する
これらのコマンドでは、他の力から切り離して特定の力を無効にします。ビークルの動きの中で特定の動作を生み出すのがどのシステムなのかを切り分けるのに役に立ちます。
コマンド | 説明 |
---|---|
p.Vehicle.DisableSuspensionForces |
他の力から切り離してサスペンションにかかる力を無効にします。 |
p.Vehicle.DisableFrictionForces |
他の力から切り離してホイールの摩擦力を無効にします。 |
p.Vehicle.DisableRollbarForces |
他の力から切り離してサスペンションロールバーの力を無効にします。 |
p.Vehicle.DisableTorqueControl |
直接トルク制御を無効にします。 |
p.Vehicle.DisableStabilizeControl |
位置安定化制御を無効にします。 |
p.Vehicle.DisableAerodynamics |
空気力学の抗力 / ダウンフォースを無効にします。 |
p.Vehicle.DisableAerofoils |
エアロフォイルにかかる力を無効にします。 |
p.Vehicle.DisableThrusters |
スラスタの力を無効化します。 |
車輪があるビークルのコマンド
コマンド | 説明 |
---|---|
p.Vehicle.ShowWheelCollisionNormal |
ホイール レイキャストがヒットしたサーフェスの法線とヒット位置を表示します。 |
p.Vehicle.ShowSuspensionRaycasts |
サスペンション レイキャストの長さを表示します。色でレイの状況を示します。つまり対象にヒットした場合は緑で、ヒットしていない場合は赤です。 |
p.Vehicle.ShowSuspensionLimits |
サスペンションの限度の視覚化を有効 / 無効にします。 |
p.Vehicle.ShowWheelForces |
ホイールにかかる力の視覚化を有効/無効にします。 |
p.Vehicle.ShowSuspensionForces |
サスペンションにかかる力の視覚化を有効/無効にします。 |
p.Vehicle.ShowRaycastComponent |
各ホイールが接触しているコンポーネント (レイキャストのヒットによる) の名前を表示します。 |
p.Vehicle.ShowRaycastMaterial |
各ホイールが接触している物理マテリアル (レイキャストのヒットによる) の名前を表示します。 |
ビークル コマンド オーバーライド
コマンド | 説明 |
---|---|
p.Vehicle.ControlInputWakeTolerance |
ビークルがスリープしている場合に、覚醒するために制御入力で使用されるしきい値を設定します。デフォルト値は 0.02 です。 |
p.Vehicle.TraceTypeOverride |
レイ トレース タイプのグローバル オーバーライド。値 1 では単純なコリジョンを使用し、値 2 では複雑なコリジョンを使用します。 |
p.Vehicle.SetMaxMPH |
すべてのビークルに影響する最高速度オーバーライド (マイル/時単位) を設定します。スロットル オーバーライドとともに使用でき、問題のデバッグに利用できます。 |
p.Vehicle.ThrottleOverride |
スロットル制御入力のグローバル オーバーライド (0 から 1 の範囲)。同時に走行している多数のビークルのパフォーマンスをテストするときに便利です。 |
p.Vehicle.SteeringOverride |
ステアリング値のグローバル オーバーライド (-1 から 1 の範囲)。同時に走行している多数のビークルのパフォーマンスをテストするときに便利です。テレインの上を周回するように設定できるからです。 |
p.Vehicle.BatchQueries |
サスペンション レイキャストのバッチ処理を有効化します。 |
p.Vehicle.EnableMultithreading |
すべてのビークルの並列更新を有効 / 無効にします。マルチスレッドによるクラッシュが疑われる場合、ビークル マネージャーは並列更新から順次更新に切り替えられます。これにより一度に 1 台のビークルをシミュレートします。 |
ビークルの Stat コマンド
コマンド | 説明 |
---|---|
stat ChaosVehicle |
ビークル シミュレーションの異なるパーツのタイミングを表示します。 |
stat ChaosVehicleManager |
シーンにあるすべてのビークルのシミュレーションに対してタイミングを表示します。ビークルの台数、ビークルの部分が覚醒/スリープしているのかを示すカウンターも表示されます。 |
重心を利用する
重心の位置は、ビークルのハンドリングに重大な影響を及ぼします。重心が高いと、コナーでのロールが大きくなり、加速や減速時の前後の傾きが大きくなります。
重心を前方に移動すると、ステアリングの応答が悪くなります。後輪に対して動力を伝達するシャフトが長くなり、前輪に対して短くなるからです。つまり前輪と比べて、後輪にかかる横力が、ビークルの角回転に大きな影響を及ぼすということです。
重心の位置を視覚化することは、ビークルの挙動をデバッグするときに非常に役に立つツールの一つです。スケルタル メッシュで定義された Center Of Mass Offset (重心のオフセット) では、コリジョン モデルから初期に計算された位置に対して、重心の位置を移動できます。重心のビジュアライゼーション コマンド p.Vehicle.ShowCOM 1
では、オフセットを適用した後の現在の重心の位置を表示します。