Esempio n. 1
0
    public void RecalculateStuff()
    {
        // Punto de máximo rendimiento de la curva longitudinal original

        m_forwardFrictionPeak = CarWheelFriction.GetPeakValue(CarWheelFriction.MCforward, ForwardWheelFriction.grip, ForwardWheelFriction.gripRange, ForwardWheelFriction.drift);

        // Punto de máximo rendimiento de la curva lateral

        m_sidewaysFrictionPeak = CarWheelFriction.GetPeakValue(CarWheelFriction.MCsideways, SidewaysWheelFriction.grip, SidewaysWheelFriction.gripRange, SidewaysWheelFriction.drift);
    }
Esempio n. 2
0
    // Obtener la pendiente corregida de la curva en la asíntota para que la rueda se comporte correctamente
    // Requerimientos:
    //  - Rueda en el suelo
    //	- absSlip es el slip actual en valor absoluto

    float GetFixedSlope(float[] Coefs, float absSlip, float asymSlip, float asymValue, float valueFactor)
    {
        float Slope;

        // Valor en el punto de la asíntota. Es el que mantendremos idependientemente de la cantidad de desplazamiento.

        float Value = CarWheelFriction.GetValue(CarWheelFriction.MCsideways, asymValue / m_DeltaTimeFactor, asymSlip);

        // Nueva pendiente que mantiene el valor con el desplazamiento actual de la rueda aplicando la pendiente controlada indicada (valueVactor)

        Slope = CarWheelFriction.GetSlope(CarWheelFriction.MCsideways, absSlip, Value + (absSlip - asymSlip) * valueFactor) * m_DeltaTimeFactor;

        return(Slope);
    }
Esempio n. 3
0
 public Vector2 getSidewaysMax()
 {
     return(new Vector2(m_wheel.sidewaysFriction.asymptoteSlip, CarWheelFriction.GetValue(CarWheelFriction.MCsideways, m_wheel.sidewaysFriction.asymptoteValue, m_wheel.sidewaysFriction.asymptoteSlip)));
 }