Esempio n. 1
0
 void stopEffect(WheelEffects wheelEffects)
 {
     if (wheelEffects.PlayingAudio)
     {
         wheelEffects.StopAudio();
     }
     // end the trail generation
     wheelEffects.EndSkidTrail();
 }
Esempio n. 2
0
    private void CheckForWheelSpin()
    {
        for (int i = 0; i < 4; i++)
        {
            wheel = car.wheels[i];

            wheelEffects = wheel.wheelCollider.GetComponent <WheelEffects>();
            if (wheelEffects == null)
            {
                continue;
            }
            if (!wheel.wheelCollider.isGrounded)
            {
                wheelEffects.EndSkidTrail();
            }
            // is the tire slipping above the given threshhold
            if (
                Mathf.Abs(wheel.slipRatio) > car.m_SlipLimit + 0.1f
                //  ||
                //Mathf.Abs(wheel.wheelCollider.GetGroundHit.sidewaysSlip) > car.m_SlipLimit + 0.1f
                )
            {
                wheelEffects.EmitTyreSmoke();

                // avoiding all four tires screeching at the same time
                // if they do it can lead to some strange audio artefacts
                if (!AnySkidSoundPlaying())
                {
                    if (carAudio.camDist < carAudio.maxRolloffDistance * carAudio.maxRolloffDistance)
                    {
                        wheelEffects.PlayAudio();
                    }
                }
                continue;
            }

            // if it wasnt slipping stop all the audio
            if (wheelEffects.PlayingAudio)
            {
                wheelEffects.StopAudio();
            }
            // end the trail generation
            wheelEffects.EndSkidTrail();
        }
    }