Session18:音效Audio
首先去素材商店下载,然后导入Unity。
添加bgm
为Player添加组件 Audio source,这里有一个小技巧:
![image-20211103204706867](https://i-blog.csdnimg.cn/blog_migrate/63e143dbcc76358b365639c99b360adc.png)
左边这些蓝色的部分表示更改只应用于当前的物体,因为Player是个prefabs,如果想要应用到所有的prefabs,可以点击右上角的overrides,选择Apply All
![image-20211103204835842](https://i-blog.csdnimg.cn/blog_migrate/0d09dadd63ba6b9208ef63b15df0469c.png)
这里我们先不管他,将喜欢的音频拖到AudioClip上,并且勾选Loop,让bgm循环播放
![image-20211103205320690](https://i-blog.csdnimg.cn/blog_migrate/653c3889d74d5ef58a70b871c1931d0a.png)
添加各种音效
接着我们为敌人添加死亡音效,选择一个喜欢的音效,拖到敌人的AudioSource组件的AudioClip,不需要选择loop和play on awake
代码如下:
public class Enemy : MonoBehaviour
{
//protected 子类和父类共享
protected Animator animator;
protected AudioSource deathAudio;
protected virtual void Start()
{
animator = GetComponent<Animator>();
deathAudio = GetComponent<AudioSource>();
}
void Death()
{
Destroy(gameObject);
}
public void JumpOn()
{
animator.SetTrigger("death");
deathAudio.Play();
}
}
这里又有一个小技巧,组件是可以复制的,点击一个组件右上角的三个点,进行copy
![image-20211103211021717](https://i-blog.csdnimg.cn/blog_migrate/67400bba362088e25c96535cb710c0ea.png)
然后随便选中另一个物体的某一个组件,paste
![image-20211103211152545](https://i-blog.csdnimg.cn/blog_migrate/1795e9e29cc01c8b1ec832e4de6b80e3.png)
这样就实现了组件的复制。
接下来我们再为人物添加其他音效,方法都是一样的,就是为先为人物添加Audio Source组件,然后将音频拖上去,配置音频属性,在人物的脚本里声明AudioSource,在适当的时候调用就可以了。