@EggrUOR

Хочу сделать настройку всех звуков в проекте с помощью слайдера, возможно ли это?

Я пытаюсь прописать код который будет настраивать как все звуки в проекте, так и отдельные(с помощью тегов), уже не один час сижу и устраиваю мозговые штурмы как можно сделать настройку сразу всех AudioSource в проекте.
Предположил что это можно сделать так: С помощью метода мы ищем все AudioSource, потом всех их добавляем в список/массив уже с помощью которого мы будем регулировать громкость сразу со всех найденых AudioSource.
Но я не знаю как это можно реализовать. Прошу помощи или хотя бы подсказки как это всё дело можно осуществить.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class AudioVolume : MonoBehaviour
{
    public Slider GeneralSound;
    public Slider Music;
    public AudioSource MusicAudioSource;
    public AudioSource GeneralAudioSource;
    public List<AudioSource> GeneralAudio;
    public List<AudioSource> MusicAudio;
    public float volumeMusic = 1f;
    public float volumeGeneralSound = 1f;

    public void Start()
    {
        Load();
        ValueMusic();
        ValueGeneralSound();
    }
    public void SliderMusic()
    {
        volumeMusic = Music.value;
        Save();
        ValueMusic();
    }
    public void SliderGeneralSound()
    {
        volumeGeneralSound = GeneralSound.value;
        Save();
        ValueGeneralSound();
    }

    private void ValueMusic()
    {
        MusicAudioSource = GameObject.FindGameObjectWithTag("Music").GetComponent<AudioSource>();
        MusicAudio.Add(MusicAudioSource);
        MusicAudioSource.volume = volumeMusic;
        Music.value = volumeMusic;
        
    }
    private void ValueGeneralSound()
    {
        GeneralAudioSource =
    }

    private void Save()
    {
        PlayerPrefs.SetFloat("volumeMusic", volumeMusic);
        PlayerPrefs.SetFloat("volumeGeneralSound", volumeGeneralSound);
    }
    private void Load()
    {
        volumeMusic = PlayerPrefs.GetFloat("volumeMusic", volumeMusic);
        volumeGeneralSound = PlayerPrefs.GetFloat("volumeGeneralSound", volumeGeneralSound);
    }
}
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
Можно использовать микшер и через него все настраивать. ИСкать всё - плохой путь
Ответ написан
Ваш ответ на вопрос

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

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