Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 // 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;
     }
 }