Audio组件播放销毁音效会让你的音量越大越好

Audio组件播放销毁音效会让你的音量越大越好

使用static void PlayClipAtPoint(AudioClip audioClip, Vector3position,floatvolume=1.0f)unity按钮点击音效,虽然播放的是3D音效,但是我们的功能还是可以实现的unity按钮点击音效材质材料,因为使用AudioSource.PlayClipAtPoint()来播放声音会自动生成一个声音层次面板中名为“One shot audio”的对象播放后会自动删除,但仍然存在音量低的问题。 要解决音量问题,因为PlayClipAtPoint()的音效大小与摄像机的位置有关,所以我们只需改变Main Camera的高度即可。 相机距离背景层越近,音量越大。 代码如下所示:

    public AudioClip audioClip;
    public float speed;
    public string alphabet;
    public static int score = 0;
    void Start()
    {
        //speed = Random.Range(0.8f, 1.5f);//简单
        speed = Random.Range(3f, 5f); ;//中等
    }
    
    // Update is called once per frame
    void Update()
    {
        transform.Translate(Vector3.down * Time.deltaTime * speed);
        if (Input.GetKeyDown(alphabet))
        {
            AudioSource.PlayClipAtPoint(audioClip, Vector3.zero, 1.0f);//播放音效
            Destroy(this.gameObject);
            score++;
        }
        if (transform.position.y < -3.5f)
        {
            Destroy(this.gameObject);
        }
    }

我给大家介绍一下播放2D音效的函数:static void PlayOneShot(AudioClip audioClip, floatvolume=1.0f),但是PlayOneShot()并不像PlayClipAtPoint()。 PlayOneShot()需要实例化一个对象才能实现3D道具,即需要绑定。 定义AudioSource组件,它让我们返回到我们没有解决上述问题的原始状态。 破坏音效是不可行的。 以下是该函数的使用规范:

    public AudioClip audioClip;
    public AudioSource audioSource;
    audioSource.PlayOneShot(audioClip, 1.0f);//需放入函数中

文章来源:https://blog.csdn.net/m0_51942776/article/details/127718491