Example #1
0
    public void Init(VehicleSetUpData vehicleSetUpData, AxleData axleData)
    {
        //m_vehicleInput = vehicleInput;

        //VehicleData
        m_maxBrakingTorque = vehicleSetUpData.MaxBrakingTorque;
        m_handBrakeTorque  = vehicleSetUpData.HandBrakeTorque;
        m_maxEngineTorque  = vehicleSetUpData.MaxEngineTorque;

        //WheelData

        m_maxWheelAngle = axleData.MaxSteerinAngle;

        m_collider = gameObject.AddComponent <WheelCollider>();

        //Protperties
        m_collider.mass                  = axleData.WheelData.WheelMass;
        m_collider.radius                = axleData.WheelData.WheelRadius;
        m_collider.wheelDampingRate      = axleData.WheelData.WheelDampingRate;
        m_collider.suspensionDistance    = axleData.WheelData.SuspensionDistance;
        m_collider.forceAppPointDistance = axleData.WheelData.ForceAppPointDistance;
        m_collider.center                = axleData.WheelData.Center;

        //Spring
        JointSpring tempSpring = m_collider.suspensionSpring;

        tempSpring.spring           = axleData.WheelData.Spring;
        tempSpring.damper           = axleData.WheelData.Damper;
        tempSpring.targetPosition   = axleData.WheelData.TargetPosition;
        m_collider.suspensionSpring = tempSpring;

        //forward
        WheelFrictionCurve forwardFriction = m_collider.forwardFriction;

        forwardFriction.extremumSlip   = axleData.WheelData.ExtremiumSlipForward;
        forwardFriction.extremumValue  = axleData.WheelData.ExtremiumValueForward;
        forwardFriction.asymptoteSlip  = axleData.WheelData.AsymptoteSlipForward;
        forwardFriction.asymptoteValue = axleData.WheelData.AsymptoteValueForward;
        m_collider.forwardFriction     = forwardFriction;

        //Sideways
        WheelFrictionCurve sidewaysFriction = m_collider.sidewaysFriction;

        sidewaysFriction.extremumSlip   = axleData.WheelData.ExtremiumSlipSideways;
        sidewaysFriction.extremumValue  = axleData.WheelData.ExtremiumValueSideways;
        sidewaysFriction.asymptoteSlip  = axleData.WheelData.AsymptoteSlipSideways;
        sidewaysFriction.asymptoteValue = axleData.WheelData.AsymptoteValueSideways;
        m_collider.sidewaysFriction     = sidewaysFriction;

        //VIEW
        m_model = Instantiate <GameObject>(axleData.WheelData.Model, Vector3.zero, Quaternion.identity, transform);
        m_model.transform.localScale = Vector3.one * axleData.WheelData.WheelRadius;
        UpdateModel();
    }
Example #2
0
    public void Init(VehicleSetUpData vehicleSetUpData, AxleData axleData, List <Wheel> wheels)
    {
        m_steeringEnabled = axleData.SteeringEnabled;
        m_brakingEnabled  = axleData.BrakingEnabled;
        m_eBrakingEnabled = axleData.EBrakingEnabled;
        m_driveEnabled    = axleData.DriveEnabled;

        m_wheels = wheels;

        //m_vehicleInput = vehicleInput;

        /*foreach (WheelData wheelData in axleData.Wheels)
         * {
         *      wheelData.Init(vehicleSetUpData,wheelData);
         * }*/
    }