Skip to content

音频系统 ​

unity-audio-system

音频系统是什么 ​

Unity 音频系统负责让游戏“发出声音”,比如:

  • 背景音乐
  • 按钮点击声
  • 金币拾取声
  • 攻击、爆炸、脚步声
  • 风声、雨声、洞穴回声
  • 角色语音
  • 3D 空间里的远近和方向感

你先记住一句话:

音频系统 = AudioClip 声音资源 + AudioSource 播放器 + AudioListener 耳朵 + AudioMixer 分组混音

最核心的声音流程 ​

音频文件 wav / mp3 / ogg
        ↓
AudioClip
        ↓
AudioSource 播放
        ↓
AudioMixer 可选混音
        ↓
AudioListener 接收
        ↓
玩家听到声音

1. AudioClip:声音资源 ​

AudioClip 就是一段声音数据。

比如你把这些文件拖进 Unity:

coin.wav
click.mp3
battle_music.ogg
explosion.wav

Unity 会把它们导入成 AudioClip。

但是注意: AudioClip 自己不会播放,它只是“声音文件”。真正负责播放的是 AudioSource。

2. AudioSource:播放器 ​

AudioSource 是最重要的音频组件。

它通常挂在一个 GameObject 上:

Coin
  Transform
  AudioSource

或者:

Enemy
  Transform
  Animator
  AudioSource

它负责控制:

  • 播放哪个 AudioClip
  • 音量多大
  • 是否循环
  • 是否一开始自动播放
  • 是 2D 声音还是 3D 声音
  • 声音远了是否变小
  • 输出到哪个 AudioMixer 分组

常见参数你要重点认识:

参数意思
Audio Clip要播放的声音
Play On Awake场景开始时自动播放
Loop是否循环播放
Volume音量
Pitch音高,调高会变尖、调低会变沉
Spatial Blend0 是 2D,1 是 3D
Min Distance3D 声音开始衰减前的近距离范围
Max Distance超过后几乎听不见的远距离范围
Output输出到 AudioListener 或 AudioMixer

3. AudioListener:玩家的耳朵 ​

AudioListener 可以理解成玩家的耳朵。

通常它挂在:

Main Camera
  Camera
  AudioListener

也就是说,摄像机在哪里,玩家就从哪里听声音。

一个场景通常只应该有 一个 AudioListener。 如果有多个,Unity 可能会警告你;如果没有,声音就可能听不到。

4. 2D 声音和 3D 声音 ​

这是新手必须搞懂的重点。

类型Spatial Blend特点适合
2D 声音0不受距离影响UI 声、背景音乐、按钮声
3D 声音1受位置、方向、距离影响脚步、爆炸、敌人叫声、环境物体声

举例:

按钮点击声:2D
背景音乐:2D
敌人脚步声:3D
远处爆炸声:3D
金币拾取提示:通常 2D
金币掉在场景里的声音:可以 3D

5. AudioMixer:统一管理声音 ​

AudioMixer 不是必须,但做正式项目很常用。

它可以把声音分组:

Master
  ├── Music
  ├── SFX
  └── UI

这样你就可以做设置界面:

主音量
音乐音量
音效音量
UI 音量

而不是每个 AudioSource 一个一个改。

6. 脚本播放音效 ​

短音效常用 PlayOneShot()。

using UnityEngine;

public class AudioExample : MonoBehaviour
{
    public AudioClip coinClip;
    private AudioSource source;

    void Awake()
    {
        source = GetComponent<AudioSource>();
    }

    public void PlayCoin()
    {
        source.PlayOneShot(coinClip, 0.8f);
    }
}

理解这段就行:

coinClip 是声音资源
source 是播放器
PlayOneShot 是播放一次
0.8f 是音量比例

学习顺序 ​

你可以按这个顺序学:

  1. 导入一个音频文件
  2. 创建一个空物体
  3. 挂 AudioSource
  4. 把 AudioClip 拖进去
  5. 勾选 Play On Awake 测试播放
  6. 学 Loop 做背景音乐
  7. 学 PlayOneShot() 做短音效
  8. 学 Spatial Blend 区分 2D / 3D
  9. 学 AudioMixer 做音量设置
  10. 最后学混响、滤波、空间音频这些进阶内容

官方参考链接 ​

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0