Я работал над 3D-играми, поэтому я добавил два компонента AudioSources в Player GameObject:
- AudioSource для воспроизведения игровой музыки
- 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 воспроизводится правильно и останавливается при столкновении с препятствием, но звук столкновения игрока не воспроизводится.