📜  Unity Sound

📅  最后修改于: 2021-01-11 13:50:22             🧑  作者: Mango

统一声音

创建游戏的视觉元素只是游戏的一半,为游戏添加声音与开发出色的着色器一样重要。 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();
    }
}

将此脚本附加到您的圈子脚本。现在玩游戏。单击按钮(红色圆圈精灵)将向控制台显示一条消息,并且您将听到成功的声音。