{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihufjcuyai24upxplcxecnijl4j36wx23oixmiucnarqh6i6l4fd4",
"uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mkxmmrjgn3e2"
},
"path": "/t/jolt-vehicle-tuning-guide/49569#post_9",
"publishedAt": "2026-05-03T16:21:39.000Z",
"site": "https://hub.jmonkeyengine.org",
"tags": [
"github.com/jrouwe/JoltPhysics",
"Jolt/Physics/Vehicle/WheeledVehicleController.h",
"a80c9dbcb",
"Jolt/Physics/Vehicle/WheeledVehicleController.cpp"
],
"textContent": "According to the documentation, the units of lateral slip are radians, not degrees:\n\n`mLateralSlip` is declared here:\n\ngithub.com/jrouwe/JoltPhysics\n\n#### Jolt/Physics/Vehicle/WheeledVehicleController.h\n\na80c9dbcb\n\n\n\n\n\n\n 52. \t/// Apply a torque (N m) to the wheel for a particular delta time\n\n\n 53. \tvoid\t\t\t\t\t\tApplyTorque(float inTorque, float inDeltaTime)\n\n\n 54. \t{\n\n\n 55. \t\tmAngularVelocity += inTorque * inDeltaTime / GetSettings()->mInertia;\n\n\n 56. \t}\n\n\n 57.\n\n 58. \t/// Update the wheel rotation based on the current angular velocity\n\n\n 59. \tvoid\t\t\t\t\t\tUpdate(uint inWheelIndex, float inDeltaTime, const VehicleConstraint &inConstraint);\n\n\n 60.\n\n 61. \tfloat\t\t\t\t\t\tmLongitudinalSlip = 0.0f;\t\t\t\t\t///< Velocity difference between ground and wheel relative to ground velocity\n\n\n 62. \tfloat\t\t\t\t\t\tmLateralSlip = 0.0f;\t\t\t\t\t\t///< Angular difference (in radians) between ground and wheel relative to ground velocity\n\n\n 63. \tfloat\t\t\t\t\t\tmCombinedLongitudinalFriction = 0.0f;\t\t///< Combined friction coefficient in longitudinal direction (combines terrain and tires)\n\n\n 64. \tfloat\t\t\t\t\t\tmCombinedLateralFriction = 0.0f;\t\t\t///< Combined friction coefficient in lateral direction (combines terrain and tires)\n\n\n 65. \tfloat\t\t\t\t\t\tmBrakeImpulse = 0.0f;\t\t\t\t\t\t///< Amount of impulse that the brakes can apply to the floor (excluding friction)\n\n\n 66. };\n\n\n 67.\n\n 68. /// Settings of a vehicle with regular wheels\n\n\n 69. ///\n\n\n 70. /// The properties in this controller are largely based on \"Car Physics for Games\" by Marco Monster.\n\n\n 71. /// See: https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html\n\n\n 72. class JPH_EXPORT WheeledVehicleControllerSettings : public VehicleControllerSettings\n\n\n\n\n\nand passed to the max-impulse callback here:\n\ngithub.com/jrouwe/JoltPhysics\n\n#### Jolt/Physics/Vehicle/WheeledVehicleController.cpp\n\na80c9dbcb\n\n\n\n\n\n\n 672. \t\t\t// Calculate max impulse that we can apply on the ground\n\n\n 673. \t\t\tfloat max_longitudinal_friction_impulse;\n\n\n 674. \t\t\tmTireMaxImpulseCallback(wheel_index,\n\n\n 675. \t\t\t\tmax_longitudinal_friction_impulse, max_lateral_friction_impulse[wheel_index], w->GetSuspensionLambda(),\n\n\n 676. \t\t\t\tw->mCombinedLongitudinalFriction, w->mCombinedLateralFriction, w->mLongitudinalSlip, w->mLateralSlip, inDeltaTime);\n\n\n 677.\n\n\n",
"title": "Jolt Vehicle Tuning Guide"
}