如何使用滑块校正高音量衰减



这是我第一次使用音量滑块,它是Unity3D网站上的3D射击教程中提供的。滑块可以工作,但大约在滑块的中间之后,音量就几乎无法察觉了。与我习惯的滑块相比,这种大小的滑块感觉下降得太快了,我猜我可以使用一些trig函数来使下降更平滑,但我对它们还不够熟悉。有人知道纠正这种情况的好方法吗?谢谢这是我的代码

编辑:我也找到了这个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);
}
}

如果在滑块的中间位置之后,音量已经几乎无法察觉,这意味着中间的值应该是滑块上的最大值。

选择"滑块"(Slider(,然后将">最大值"(Max Value(更改为滑块中间的值(当体积变得几乎无法察觉时(。您也可以从具有Slider.maxValue属性的代码中执行此操作。至于平滑度,请确保滑块上未启用"整数"。如果启用,则滑块值将为int而不是float,这可能会导致问题。

最新更新