Тот же GameObject Два аудиоисточника не воспроизводят свои аудиоклипы - Unity - PullRequest
0 голосов
/ 14 ноября 2018

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

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

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

enter image description here

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

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

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 играет правильно и останавливается, когда сталкивается с препятствием, но не слышен звук столкновения игрока.

1 Ответ

0 голосов
/ 14 ноября 2018

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

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

...