Один и тот же GameObject Два источника звука не воспроизводят свои аудиоклипы - Unity

Я работал над 3D-играми, поэтому я добавил два компонента AudioSources в Player GameObject:

  1. AudioSource для воспроизведения игровой музыки
  2. AudioSource для воспроизведения звука столкновения игрока

В том же Player GameObject я назначил два AudioSource для воспроизведения этих двух звуков, но в настоящее время играет только музыка GamePlay, звук столкновения игрока не воспроизводится, когда он сталкивается с препятствиями.

введите описание изображения здесь

Оба источника звука имеют назначенные аудиоклипы.

Во время столкновения с препятствием я воспроизводил звук столкновения следующим образом:

void OnCollisionEnter (Collision other)
{
    if (other.transform.CompareTag (GameConstants.TAG_OBSTACLE)) {
        Vector3 splashEffectPos = groundCheck.position;
        if (splashEffectPos.y < 0.05f)
            splashEffectPos.y = 0.05f;

        // stop game music
        if (SoundManager.Instance.EnableSound) {
            gameSoundAS.Play ();
            gameMusicAS.Stop ();
//          gameSoundAS.PlayOneShot (ballCollisionClip);
        }

        GameObject splash = Instantiate (splashEffectPrefab, splashEffectPos, Quaternion.identity);
        splash.transform.SetParent (GameController.Instance.transform);

        GameController.Instance.GameOver ();
        gameObject.SetActive (false);
    }
}

Музыка GamePlay воспроизводится правильно и останавливается при столкновении с препятствием, но звук столкновения игрока не воспроизводится.


person Siddharth    schedule 14.11.2018    source источник


Ответы (1)


Ладно, я сам решил проблему. Если GameObject становится отключенным, его AudioSources не могут воспроизводиться.

В методе OnCollisionEnter выше я отключил свой GameObject Player, поэтому AudioSource не будет воспроизводить звук.

person Siddharth    schedule 14.11.2018
comment
Если вы решили свой собственный вопрос, вы должны выбрать свой ответ в качестве решения, чтобы будущие люди знали, как вы его решили. - person Eliasar; 14.11.2018
comment
Я не выбрал это как истину из-за времени ожидания из-за переполнения стека - в то же время я не могу отметить свой ответ как правильный - мне нужно подождать 2 дня - person Siddharth; 17.11.2018