Vehicle slows down when turning

  1. What do you want to achieve? I want the vehicle to don’t lose speed while turning.

  2. What is the issue? The vehicle slows down when turning.

  3. What solutions have you tried so far? A tried changing mass, but no result. And I didn’t find any post in devforum related to this problem.

What I noticed is that the vehicle slows down while the turning “starts”, when the wheel reaches the turning angle, it starts speeding up again.

Code in charge of turning:

	local SteerSpeed = self.SteerSpeed
	local SteerGoal = self.SteerFloat
	local testing = dt * 100

	if self.Steer < SteerGoal then
		if self.Steer < 0 then
			SteerSpeed = self.SteerReturnSpeed
			self.Steer = math.min(self.Steer + SteerSpeed * testing, SteerGoal)
		else
			self.Steer = math.min(self.Steer + SteerSpeed * testing, SteerGoal)
		end
	else
		if self.Steer > 0 then
			SteerSpeed = self.SteerReturnSpeed
			self.Steer = math.max(self.Steer - SteerSpeed * testing, SteerGoal)
		else
			self.Steer = math.max(self.Steer - SteerSpeed * testing, SteerGoal)
		end
	end

	local minSteer = self.VehicleConfig.SteerSpeed - (self.VehicleConfig.SteerSpeedRange * .5)
	self.SteeringMotor.MaxVelocity = ((SteerSpeed * self.VehicleConfig.WheelSteerRotationSpeed / minSteer)) + 1

	local sDecay = (1 - math.min(self.Seat.AssemblyLinearVelocity.Magnitude / self.VehicleConfig.SteerDecay, 1 - (self.VehicleConfig.MinSteerAngle * .01)))
	local goal = self.Steer * self.VehicleConfig.SteerMultipler * sDecay
	self.attFL.CFrame = CFrame.new(self.attFL.Position) * CFrame.Angles(0, -math.rad(goal), -math.pi * .5)
	self.attFR.CFrame = CFrame.new(self.attFR.Position) * CFrame.Angles(0, -math.rad(goal), -math.pi * .5)
	self.SteerRotation = goal

Constraints: