Среда, 28 Сентября 2022, 06:51

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос по AudioMixerGroup
Вопрос по AudioMixerGroup
labinzevvДата: Понедельник, 24 Мая 2021, 08:57 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет! Такой вопрос: Как получить значение уровня громкости для переменной AudioMixerGroup, чтобы использовать его для условия if().?
Как изменять уровень громкости, известно: mixer.audioMixer.SetFloat("musicVolume", -80); //громкость 0%,
mixer.audioMixer.SetFloat("effectVolume", 0); //громкость 100%. А вот как эту громкость вставить в условие if(), не могу найти.
Пример: Типа, чтобы получилось "если mixer.audioMixer "громкость" равна 0, то выполняется определённое действие".
Может кто-нибудь сталкивался? Заранее благодарен:)


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
djwirtuozДата: Понедельник, 24 Мая 2021, 12:49 | Сообщение # 2
почетный гость
Сейчас нет на сайте
попробуйте так
Код

public AudioMixer masterMixer;
private float _volume;

public float Volume
    {
        get
        {
            masterMixer.GetFloat("musicVal", out _volume);

            return _volume;
        }
    }

код взял из интернета, нет сейчас возможности проверить.
но по логике при вызове Volume, будет возвращаться флоатовое значение громкости


Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальный, надеясь на лучшее.
drcrackДата: Понедельник, 24 Мая 2021, 20:35 | Сообщение # 3
старожил
Сейчас нет на сайте
И не забудь что это значение логарифмическое
labinzevvДата: Понедельник, 24 Мая 2021, 20:49 | Сообщение # 4
частый гость
Сейчас нет на сайте
Цитата djwirtuoz ()
попробуйте так
Код

public AudioMixer masterMixer;
private float _volume;

public float Volume
    {
        get
        {
            masterMixer.GetFloat("musicVal", out _volume);

            return _volume;
        }
    }

код взял из интернета, нет сейчас возможности проверить.
но по логике при вызове Volume, будет возвращаться флоатовое значение громкости

Спасибо, Вы задали направление!

Покурил эту тему и разобрался.
Значение volume нужно сохранить: PlayerPrefs.SetFloat("musicVolume", volume); PlayerPrefs.Save();
После подгружать: if (PlayerPrefs.HasKey("musicVolume")) {volume = PlayerPrefs.GetFloat("musicVolume");}
Как раз про volume = PlayerPrefs.GetFloat("musicVolume"); и был вопрос.


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
drcrackДата: Понедельник, 24 Мая 2021, 23:01 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата
Пример: Типа, чтобы получилось "если mixer.audioMixer "громкость" равна 0, то выполняется определённое действие".

Цитата
Как раз про volume = PlayerPrefs.GetFloat("musicVolume"); и был вопрос.

Чет по-моему вопрос был совсем не про это :D


Сообщение отредактировал drcrack - Понедельник, 24 Мая 2021, 23:02
labinzevvДата: Понедельник, 24 Мая 2021, 23:09 | Сообщение # 6
частый гость
Сейчас нет на сайте
Цитата drcrack ()
Цитата
Пример: Типа, чтобы получилось "если mixer.audioMixer "громкость" равна 0, то выполняется определённое действие".

Цитата
Как раз про volume = PlayerPrefs.GetFloat("musicVolume"); и был вопрос.

Чет по-моему вопрос был совсем не про это

Я просто не знал как вытащить эту самую "громкость"("musicVolume" которая сохраняется со значением 0) и вставить её в условие If. Теперь разобрался: приравниваем её к float volume, а уже float volume можно вставить в if:)


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv

Сообщение отредактировал labinzevv - Понедельник, 24 Мая 2021, 23:10
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос по AudioMixerGroup
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2022 Рейтинг