找回密码
 立即注册
查看: 483|回复: 2

[笔记] Unity 物体碰撞触发音效怎么写?

[复制链接]
发表于 2021-11-21 12:13 | 显示全部楼层 |阅读模式
1、camera上挂载AudioListener,在场景里给emptyGameobject挂载AudioSource


2、导入声音文件,在你的脚本里声明 public AudioClip[] allClips  ,把声音文件放到这个阵列中,然后把上面的AudioSource在Awake或Start里用 AudioSource audio = emptyGameobject.GetComponent<AudioSource>() 调用:

3、在要播放的地方先将对的声音放入audiosource.clip ,即:audio.clip = allClips   ;
然后 audio.Play()  即可

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-21 12:18 | 显示全部楼层
1、camera上挂载AudioListener,在场景里给emptyGameobject挂载AudioSource


2、导入声音文件,在你的脚本里声明 public AudioClip[] allClips  ,把声音文件放到这个阵列中,然后把上面的AudioSource在Awake或Start里用 AudioSource audio = emptyGameobject.GetComponent<AudioSource>() 调用:

3、在要播放的地方先将对的声音放入audiosource.clip ,即:audio.clip = allClips   ;
然后 audio.Play()  即可

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-21 12:28 | 显示全部楼层
在 ClassC 上添加如下代码:
public class C : MonoBehaviour

{
    public AudioSource _1;
    public AudioSource _2;
    public void OnCollisionEnter(Collision collision)

    {

        if (collision.gameObject.name == "A")

        {

            _1.Play();

        }

        else if (collision.gameObject.name == "B")

        {

            _2.Play();

        }

    }
}然后在Unity Hierarchy 中挂在C 脚本下创建两个空的GameObject,并为这两个GameObject添加 AudioSource 组件,该组件有一个Audio Clip属性,把你的声音文件拖拽进去:


然后切换到C脚本所在的GameObject,将刚才创建的两个GameObject分别拖拽到C脚本下的两个AudioSource 属性就行了:


如果想要代码创建,可以另外私信我,上面这个比较繁琐,但是简单容易操作

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 15:44 , Processed in 0.144753 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表