Я создал в меню раздел для регулировки уровня звука, добавил слайдеры, а для MenuCanvas добавил скрипт MixLevels.cs:
using UnityEngine;
using UnityEngine.Audio;
public class MixLevels : MonoBehaviour
{
public AudioMixer masterMixer;
public void SetMasterLvl(float masterLvl)
{
masterMixer.SetFloat("masterVol", masterLvl);
}
}
В результате при запуске игры получил ошибку:
Exposed name does not exist: SetMasterLvl
UnityEngine.Audio.AudioMixer:SetFloat(String, Single)
Проблема была явно в названии группы masterLvl. Поскольку этот скрипт я взял из другого проекта, то названия сразу не поменял. Сначала я подумал, что нужно поставить мои названия групп. У меня группа управления уровнем общего звука называлась Master, это название я и поставил вместо masterVol, но не сработало. Ответ я нашел в дополнительном уроке, посвященном AudioMixer’ам.
1. Для начала нужно в проекте открыть оснастку Audio Mixer, для этого достаточно сделать двойной клик нем:
Assets -> AudioMixers -> MainMix
2. В открывшейся оснастке выделяем группу Master:
3. Переходим на панель Инспектора и на надписи «Volume» нажимаем ПКМ и выбираем «Expose ‘Volume (of Master)’ to script«:
4. После того, как мы это сделали, справа от надписи Volume появится маленькая стрелочка, которая обозначает, что теперь этот параметр стал доступен из скриптов:
5. В окошке панельки Audio Mixer в правой верхней ее части теперь указано количество доступных для скриптов параметров (у меня их 4, т.к. я повторил шаги 1-3 для всех оставшихся групп):
6. На каждом из этих параметров можно сделать двойной щелчок мышки (или выделить его и нажать
Как я уже писал выше, все это нужно сделать для каждой группы аудио-миксера.
7. Поскольку скрипт MixLevels.cs мы добавили к MenuCanvas, то в Иерархии выбираем «Master Volume Slider» и добавляем его в компонент «Slider (Script)»:
8. В окошке нужно выбрать функцию из нашего скрипта, с переменной которую мы объявили — «SetMasterLvl»:
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024