DrEnderman
@DrEnderman

Как сделать разные звуки в Unity?

На машину добавлен AudoSound с AudioClip внутри
6289d1094d352398639888.jpeg
Код при котором когда машина наезжает на определённую зону издаётся звук (всё работает):
public class PlayerController : MonoBehaviour
{
    public AudioSource testSound;

    void Start()
    {
        testSound = GetComponent<AudioSource>();
    }
 
    void Update()
    {
    	// тут нет ничего про звук
    }

    void OnTriggerEnter2D(Collider2D collider)
	{
	    testSound.Play();
	}
}


Вопрос:
1) как на один объект (машина) навесить много разных звуков. Наехал на лужу, столкнулся со скалой, газ, стрельба, перезарядка и т.д. Навесить много AudioSource на один объект? А как тогда в коде указывать какой конкретно AudioSource сейчас играть?
2) Вообще по феншую правильно звуки столкновения с разными препятствиями вешать на машину или на эти препятствия?
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
KraGenDeveloper
@KraGenDeveloper
Unity Developer
Делаешь скрипт что то типа AudioControll в нём что то тип такого:
[SerializeField] private AudioClip puddle;
[SerializeField] private AudioClip rock;
private AudioSource _audioSource;
void Start(){
_audioSource = GetComponent<AudioSource>();
}
void OnTriggerEnter2D(Collider2D other){
if(other.gameObject.CompareTag("Rock")){
      _audioSource.clip = rock;
      _audioSource.Play();
}
else if(other.gameObject.CompareTag("Puddle")){
      _audioSource.clip = puddle;
      _audioSource.Play();
}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы