In this thread I will post all the bugs I find.
Engine\Source\Runtime\Experimental\ChaosVehicles\ChaosVehiclesCore\Private\WheelSystem.cpp
Line 120
// use slip angle to generate a sideways force
if (Setup().LateralSlipGraph.IsEmpty())
{
float AngleLimit = FMath::DegreesToRadians(8.0f);
if (SlipAngle > AngleLimit)
{
SlipAngle = AngleLimit;
}
else if (SlipAngle < AngleLimit)
{
SlipAngle = AngleLimit;
}
FinalLateralForce = SlipAngle * CorneringStiffness;
}
This is a simple signed limit, but the code is missing two minus signs so actual says
SlipAngle = AngleLimit;
Code should be
// use slip angle to generate a sideways force
if (Setup().LateralSlipGraph.IsEmpty())
{
float AngleLimit = FMath::DegreesToRadians(8.0f);
if (SlipAngle > AngleLimit)
{
SlipAngle = AngleLimit;
}
else if (SlipAngle < -AngleLimit)
{
SlipAngle = -AngleLimit;
}
FinalLateralForce = SlipAngle * CorneringStiffness ;
}
This code actually looks wrong to me anyway.
What I am seeing is that once the speed of the vehicle gets above 55KPH, you lose all grip and the vehicle spins out.