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