Как исправить падение громкости с помощью ползунка - PullRequest
0 голосов
/ 27 ноября 2018

Привет, ребята, я впервые использую слайдер громкости, и он предоставлен в учебнике по 3D-шутерам на сайте Unity3D.Ползунок работает, но примерно через середину ползунка громкость уже едва заметна.Такое ощущение, что он падает слишком быстро для слайдера такого размера по сравнению со слайдерами, к которым я привык, и я предполагаю, что есть некоторая функция триггера, которую я мог бы использовать, чтобы сделать сглаживание более плавным, но я недостаточно знаком сих еще.Кто-нибудь знает хороший способ исправить это?Спасибо!Вот код, который я получил для этого

Редактировать: я также нашел этот скрипт VolumeHandler.Я поставлю его после первого

using UnityEngine;
using System.Collections;
using UnityEngine.Audio;

public class MixLevels : MonoBehaviour {

    public AudioMixer masterMixer;

    public void SetSfxLvl(float sfxLvl)
    {
        masterMixer.SetFloat("sfxVol", sfxLvl);
    }

    public void SetMusicLvl (float musicLvl)
    {
        masterMixer.SetFloat ("musicVol", musicLvl);
    }
}

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


public class VolumeHandler : MonoBehaviour {

    // Use this for initialization
    void Start () 
    {
        if(GameObject.Find("EffectsSlider"))
        GameObject.Find("EffectsSlider").GetComponent<Slider>().onValueChanged.AddListener(SetVolume);
    }

    void SetVolume(float volume)
    {
        GetComponent<AudioSource>().volume = volume;
    }

    void OnDestroy()
    {
        if(GameObject.Find("EffectsSlider"))
        GameObject.Find("EffectsSlider").GetComponent<Slider>().onValueChanged.RemoveListener(SetVolume);
    }
}

1 Ответ

0 голосов
/ 27 ноября 2018

Если примерно через середину ползунка громкость уже едва заметна, это означает, что значение в середине должно быть максимальным значением на ползунке.

Выберите ползунок и измените Макс. Значение на значение в середине ползунка, когда громкость становится едва заметной.Вы также можете сделать это из кода с помощью свойства Slider.maxValue.Что касается плавности, убедитесь, что «Полные числа» не включены на слайдере.Если он включен, то значение ползунка будет int вместо float, что может вызвать проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...