float Sensors() { Vector3 pos; RaycastHit hit; float SensorLength = currentSpeed < 5 ? 5 : currentSpeed; pos = transform.position; pos += transform.forward; pos.y += 0.5f; //BRAKING SENSOR if (Physics.Raycast(pos, transform.forward, out hit, SensorLength)) { Debug.DrawLine(pos, hit.point, Color.red); SensorDistToObject = hit.distance; hitObject = hit.transform.name; SensorBrake = true; ActiveBrake = BrakeMode.Sensor; return(hit.distance); } SensorBrake = false; return(0.0f); }
// Calculate brake ratio and slip based on the current brake method void ComputeBrakeValues(WheelData wd, BrakeMode mode, float maxSlip, float maxRatio, out float brakeSlip, out float brakeRatio) { if (mode == BrakeMode.Slip) { brakeSlip = maxSlip; brakeRatio = 1.0f; } else { brakeSlip = Mathf.Abs(wd.localVelocity.y); brakeRatio = maxRatio; } }