Пример #1
0
    private void OnCollisionEnter(Collision collision)
    {
        AudioClip clip = null;

        if (collision.impulse.magnitude > 0.3f)
        {
            clip = soundSys.getRandomClip();
        }

        if (clip && !audioSource.isPlaying)
        {
            float volume = Mathf.Min(collision.impulse.magnitude / 5.0f, 1.0f);
            audioSource.pitch = Random.Range(0.5f, 1.25f);
            audioSource.PlayOneShot(clip, volume);
        }
    }
Пример #2
0
    private void OnCollisionEnter(Collision collision)
    {
        AudioClip clip = null;
        float     mass = 1.0f;

        if (rb)
        {
            mass = rb.mass;
        }
        float force = mass * collision.impulse.magnitude;

        if (force > 0.1f)
        {
            clip = soundSys.getRandomClip();
        }

        if (clip /* && !audioSource.isPlaying*/)
        {
            float volume = Mathf.Min(force * 2.0f, 1.0f);
            //audioSource.pitch = Random.Range(0.5f, 1.25f);
            audioSource.PlayOneShot(clip, volume);
        }
    }