Как в Unity сделать синхронизацию музыки между сценами и регулировку все музыки через другую сцену?
Как в Unity сделать синхронизацию музыки между сценами и регулировку все музыки через другую сцену?
В ютубе видел видео как это делает парень, попробовал, все работало, в какой то момент удалил не активный префаб (Он не использовался просто висел на двух сцена) и юнити сломался, ночал создать кучу префабов.
Суть вопроса:
Добавил Audiu Sorce на двух сценах с одной музыкой задал на одной сцене тег
написал код при котором если воспроизводится музыку при переходе на другой сцене ищет audio sorce и удаляет его (таким образом музыка не обнавлялась, а играла не прерывно) но не работал слайдер (вернее работал только если запускать сразу со второй сцены). После поломки у меня не активны были кнопки на первой сцене (на второй все работало ок), код сразу снес префабы создавшиеся удалил, все заработало, насколько я понял при переходе между сценами туда сюда после первого удаления не находился по этегу и создавался объект.
Как правильно кодом написать непрерывную музыку между сценами
P.s самоучка в целом опыт программирования пару месяцев, на юнити и c# 4 дня
мой код который сломался, для синхрона музыки:
[Header("Tags")]
[SerializeField] private string createdTag;
private void Awake()
{
GameObject obj = GameObject.FindWithTag(this.createdTag); // если создался еще один такой же тэг то его удаляем
if (obj != null)
{
Destroy(this.gameObject);
}
else
{
this.gameObject.tag = this.createdTag;
DontDestroyOnLoad(this.gameObject);
}
[Header("Components")]
[SerializeField] private AudioSource audio1;
[SerializeField] private Slider slider1;
[SerializeField] private Text text1; // создаем переменную текст что бы сохранять сколько сейчас звука текстом
this.text1.text = Mathf.Round (f:this.volume*100) + "%"; //функция умножаем на 100 и делим на процент что бы текстом высчитывать ровные значения и отсекать дробные числа
}