What's the meaning of SteerVsForwardSpeedTable?

PxF32 gSteerVsForwardSpeedData[2 * 8] =
	0.0f,		0.75f,
	5.0f,		0.75f,
	30.0f,		0.125f,
	120.0f,		0.1f,
	PX_MAX_F32, PX_MAX_F32,
	PX_MAX_F32, PX_MAX_F32,
	PX_MAX_F32, PX_MAX_F32,
PxFixedSizeLookupTable<8> gSteerVsForwardSpeedTable(gSteerVsForwardSpeedData, 4);

   PxF32 steerLeft=processDigitalValue(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT,keySmoothing,rawInputData.getDigitalSteerLeft(),timestep,driveDynData.getAnalogInput(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT));
    PxF32 steerRight=processDigitalValue(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT,keySmoothing,rawInputData.getDigitalSteerRight(),timestep,driveDynData.getAnalogInput(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT));
	const PxF32 vz=vehicle.computeForwardSpeed();
	const PxF32 vzAbs=PxAbs(vz);
	const PxF32 maxSteer=(isVehicleInAir ? 1.0f :steerVsForwardSpeedTable.getYVal(vzAbs));
	const PxF32 steer=PxAbs(steerRight-steerLeft);
		const PxF32 k=maxSteer/steer;
	driveDynData.setAnalogInput(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT, steerLeft);
	driveDynData.setAnalogInput(PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT, steerRight);

Why compute the steer value in this way when the Keyboard KeyA is pressed?


Vehicles become more difficult to steer at higher speeds because the forward momentum of the vehicle tries to realign the tire. This is quite a challenge to model - we would need to compute the aligning moment of the tire, hook that up to a geared steering wheel, model the assisted steering forces etc. Even if we modelled all of that it still wouldn’t help because a lot of games are played with an analog controller or even from a keyboard: there is no physical mechanism to translate those aligning moments into forces acting on the player. Some games are played with steering wheels that do allow some force to be transmitted ot the steering wheel. Even that specialised hardware could never transmit the computed forces due to health and safety concerns.

One approach is just to note that it gets harder to steer a wheel at higher speeds and translate that into a lookup table. If the player turns hard left at 1 kilometre per hour we might translate that into 30 degrees turn. At 80 km per hour, however, it makes more sense to translate that into a 3 degree turn.