七彩极 发表于 2021-11-21 12:13

Unity 物体碰撞触发音效怎么写?

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()即可

johnsoncodehk 发表于 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()即可

mastertravels77 发表于 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 属性就行了:


如果想要代码创建,可以另外私信我,上面这个比较繁琐,但是简单容易操作
页: [1]
查看完整版本: Unity 物体碰撞触发音效怎么写?