本文概述
创建游戏的视觉元素只是游戏的一半, 为游戏添加声音与开发惊人的着色器一样重要。 Unity的声音系统灵活而强大。
Unity可以导入大多数标准音频文件格式, 并具有在3D空间中播放声音的功能, 还可以选择应用回声和过滤等效果。即使是Unity, 也可以从用户机器上任何可用的麦克风录制音频, 以供玩游戏或存储和传输时使用。
Unity中有两个与音频有关的组件;他们是:
- 音频监听器
- 音源
让我们一一看一下这些组件:
音频监听器
音频侦听器是每次创建场景时自动附加到主摄像机的组件。它没有任何属性, 因为它的唯一工作就是充当感知点。
该组件收听场景中播放的所有音频并将其传输到系统的扬声器。它充当游戏的耳朵。场景中只有一个AudioListener才能正常运行。
音源
音频源是你将附加到GameObject使其播放声音的主要组件。这是负责播放声音的组件。
若要添加音频源组件, 请选择一个GameObject, 然后转到”检查器”选项卡。单击添加组件, 然后搜索音频源。
选择音频源。
当通过调音台, 代码或默认情况下唤醒时, 音频源将播放音频剪辑。
音频剪辑是一种声音文件, 已加载到AudioSource中。它可以是任何标准音频文件, 例如.wav, .mp3等。音频剪辑本身就是一个组件。
播放声音
让我们添加一个在单击时播放声音的按钮。为此, 首先创建一个精灵并执行一种颜色。在这里, 我正在创建一个圆形精灵并将其设为红色。
现在, 将”音频源”组件附加到该圆形精灵上。
现在, 你必须导入一个音频文件。在这里, 我正在下载成功声音。要下载它, 请单击此处。
将此声音文件拖到Assets中。
将此声音剪辑从Assets拖动到精灵的音频源组件中的”音频剪辑”插槽。
- 取消选中音频源属性中的”唤醒时播放”。否则, 声音会在游戏开始时立即播放。
- 创建一个名为” SuccessSound”的新脚本并将其打开。
- 在此脚本文件中, 我们必须设置方法以检测被单击的对象。 MonoBehaviour为我们提供了我们所需的方法, 名为onMouseDown。每当鼠标在该gameObject的对撞机范围内单击时, 都会调用此方法。
为此, 添加” Circle Collider 2D”组件。
- 我们将不需要一个刚体。我们也不需要通过代码访问此对撞机。它只是必须存在, 该方法才能起作用。
- 最后, 将以下代码复制到脚本文件SuccessSound.cs中:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SuccessSound : MonoBehaviour
{
AudioSource mySource;
void OnMouseDown() {
mySource.Play();
Debug.Log("Clicked!");
}
// Use this for initialization
void Start () {
mySource = GetComponent<AudioSource>();
}
}
将此脚本附加到你的圈子脚本。现在玩游戏。单击按钮(红色圆圈精灵)应向控制台显示一条消息, 并且你会听到成功的声音。
评论前必须登录!
注册