Unity基础(十八)影音系统(音频)

音频概述

如果游戏缺少某种音频,无论是背景音乐还是其他音效,那么游戏是不完整的。Unity 的音频系统既灵活而又强大。它可以导入大多数标准音频文件格式,精通于在3D 空间中播放声音,还可根据需要提供其他效果(比如回声和滤波)。Unity 还可以通过用户机器上任何可用麦克风来录制音频,以便在游戏过程中进行使用或存储和传输。

使用音频资源

Unity 可使用与其他资源相同的方式导入 AIFF、WAV、MP3 和 Ogg 格式的音频文件,只需要将文件拖入 Project 面板即可。导入音频文件会创建音频剪辑,然后可以将音频剪辑拖动到音频源中,或通过脚本来使用音频剪辑。音频剪辑参考页面提供了有关音频文件的可用导入选项的更多详细信息。

对于音乐,Unity 还支持音轨模块,这些模块使用短音频样本作为“编曲”,然后进行安排以播放曲调。可以从 .xm、.mod、.it 和 .s3m 文件导入音轨模块,但与普通音频剪辑的其他使用方式大致相同。

基础概念

音频剪辑(Audio Clip)
音频剪辑包含音频源使用的音频数据

选项

Force To Mono

启用此选项后,多声道音频将在打包前混合为单声道。

Normalize

启用此选项后,音频将在“Force To Mono”(强制为单声道)混合过程中被标准化。

Load In Background

启用此选项后,剪辑的加载将在单独的线程上延时进行,不会阻止主线程。

Ambisonic

立体混响声 (Ambisonic) 音频源作为一种音频格式,表示可根据听者方向而旋转的声场。它非常适合 360 度视频和 XR 应用程序。如果音频文件包含立体混响声编码的音频,请启用此选项。

属性
属性: 功能:

Load Type Unity 在运行时用于加载音频资源的方法。

Decompress On Load 音频文件加载后将立即解压缩。请对小的压缩过的声音使用此选项,以避免动态解压缩产生性能开销。请注意,在加载时解压缩 Vorbis 编码的声音所使用的内存量是保持压缩状态时内存使用量的 10 倍(ADPCM 编码约为 3.5 倍),因此请勿对大文件使用此选项。

Compressed In Memory 声音在内存中保持压缩状态,播放时解压缩。此选项具有轻微的性能开销(特别是对于 Ogg/Vorbis 压缩文件),因此仅应当将其用于较大的文件(此情况下,加载时解压缩将使用大量的内存)。解压缩发生在混音器线程中,可在性能分析器窗口的音频面板中的“DSP CPU”部分对其进行监控。

Streaming 即时解码声音。此方法使用最少量的内存来缓冲从磁盘中逐渐读取并即时解码的压缩数据。请注意,解压缩发生在单独的串流线程上;可在性能分析器窗口的音频面板中的“Streaming CPU”部分监控其 CPU 使用率。注意:即使没有加载任何音频数据,串流剪辑也有大约 200KB 的过载量。

Compression Format 在运行时将用于声音的特定格式。请注意,可用选项取决于当前选定的构建目标。

PCM 此选项提供高质量,代价是文件内存变大,适合内存小的声音效果。

ADPCM 此格式适用于大量噪音和需要大量播放的声音(例如脚步声、撞击声、武器声音)。较之于 PCM,压缩能力提高 3.5 倍,但 CPU 使用率远低于 MP3/Vorbis 格式,因此成为上述声音类别的最佳压缩方案。

Vorbis/MP3 压缩使文件减小,但与 PCM 音频相比,质量降低。可通过 Quality 滑动条来配置压缩量。此格式最适合中等长度的音效和音乐。

Sample Rate SettingPCM 和 ADPCM 压缩格式允许自动优化或手动降低采样率。

Preserve Sample Rate此设置可保持采样率不变(默认值)。

Optimize Sample Rate此设置根据分析的最高频率内容自动优化采样率。

Override Sample Rate此设置允许手动覆盖采样率,因此可有效地将其用于丢弃频率内容。

Force To Mono如果启用此选项,音频剪辑将在下方混为单声道声音。在混合之后,信号的峰值归一化,因为混合过程通常会产生比原始信号更安静的信号,所以峰值归一化信号通过音频源的音量属性调节为后面的调整提供了更好的空间。

Load In Background如果启用此选项,音频剪辑将在后台加载,不会导致主线程停顿。默认情况下,此选项为关闭状态以确保 Unity 为标准形式,即:在场景开始播放时所有音频剪辑已完成加载。请注意,针对仍在后台加载的音频剪辑的播放请求将被延迟,直到剪辑完成加载。可通过 AudioClip.loadState 属性来查询加载状态。

Preload Audio Data如果启用此选项,则在加载场景时提前加载音频剪辑文件。默认情况下,此选项为开启状态以反映 Unity 标准模式,即:在场景开始播放时所有音频剪辑文件已完成加载。如果未设置此标志,音频数据将加载到第一个 AudioSource.Play()/AudioSource.PlayOneShot(),或者可通过 AudioSource.LoadAudioData() 加载并通过 AudioSource.UnloadAudioData() 卸载。

Quality确定要应用于压缩剪辑的压缩量。不适用于 PCM/ADPCM/HEVAG 格式。可在检视面板中查看有关文件大小的统计信息。要调整此值,建议将滑动条拖动到某个位置让播放质量“足够好”,同时又保持文件足够小以满足发布条件。请注意,原始大小与原始文件有关,因此如果这是一个 MP3 文件并且压缩格式设置为 PCM(即未压缩),则生成的比率将大于 100%,因为该文件是未压缩存储,并占用超过了 MP3 格式文件的原始空间。

作者:unity_某某师_高锦锦 https://www.bilibili.com/read/cv9360852/ 出处:bilibili

音频监听器(Audio Listener)

音频监听器 (Audio Listener) 充当类似于麦克风的设备。

AudioClip(音频剪辑):待播放的音频文件,可以通过点击后面的小圆圈,选择要播放的文件,也可以将待播放的音频文件直接拖到此处。

Output(音源输出):可以输出到音频监听器(AudioListener)或者(AudioMixer)。当设置为空时,即代表输出到AudioListener,而设置到AudioMixer时需要指定具体的AudioMixer。

Mute(是否静音):如果启用,声音将播放但静音。

Bypass Effects(音源滤波开关):作用在当前音源的音频滤波器的开关。

Bypass Listener Effects(监听滤波器开关):作用在当前监听器的音频滤波器的开关。

Bypass Reverb Zones(回音混淆开关):当勾选时,不执行回音混淆,即便现在玩家位于回音区域,此音源也不会产生回音。回音效果取决于监听器位置(一般代表玩家位置)与回音区域位置关系,而与音源没有直接关联。

Play on awake(启动播放开关):。如果启用,声音将在场景启动时开始播放。如果禁用,则需要使用脚本中的Play()命令启动它。

Loop(是否循环):启用此选项可在音频剪辑到达结尾时进行循环播放。

Priority(优先权):确定此场景中共存的所有音频源的优先级。(优先级:0 =最重要.256 =最不重要。默认= 128.)。音乐曲目使用0以避免偶尔被换掉。

Volume(音量):代表了监听器处于距离音源1米时的音量大小,代表了最大音量处的声音大小。

Pitch(音调):改变音调(Pitch)值,可以减速/加速音频剪辑的播放.1是正常播放速度。

Stereo Pan(声道占比):此数值在[-1,1]之间变化,代表了2D音源的左右声道占比,默认值为0,代表左右声道输出同样音量大小。

Spatial Blend(空间混合):此数值在[0,1]之间变化,指定当前音源是2D音源、3D音源,还是二者插值的复合音源,此参数决定了引擎作用在此音源上的3D效果的份量。

Reverb Zone Mix(回音混合):设置输出到混响区域中的信号量,一般在[0,1]范围内变化, 不过也允许额外最多放大10分贝(1 - 1.1]来增强声音的远近效果。

3D Sound Settings(3D声音设置)

Doppler Level(多普勒效应):在[0,5]之间变化,默认值为1,决定了音源的多普勒效应的份量,如果设置为0,则没有多普勒效应。

Spread(传播角度):设置扬声器空间的立体声传播角度

Min Distance(最小距离):在MinDistance内,声音将保持最大声音。在MinDistance之外,它将开始减弱。增加声音的MinDistance以使其在3D世界中“更响亮”,并减少它以使其在3D世界中更“安静”。

Max Distance(最大距离):当超出此距离时,它将保持听众的MaxDistance单位音量,不再衰减。

Rolloff Mode(衰减模式):声音淡出的速度有多快。该值越高,越接近侦听器越先听到声音。
———————————————————————————————————————————

提示:

它接收来自场景中任何给定音频源的输入,并通过计算机扬声器播放声音。

必须添加音频监听器才能工作。默认情况下,音频监听器将被添加到主摄像机。

每个场景只能有 1 个音频监听器才能正常工作。

要访问项目级别的音频设置,可使用 Audio 窗口(主菜单:Edit > Project Settings,然后选择 Audio 类别)。

音频源
音频源 (Audio Source) 在场景中播放音频剪辑。

属性介绍参考:https://docs.unity3d.com/cn/2021.1/Manual/class-AudioSource.html

麦克风

Microphone 类用于捕获 PC 或移动设备上内置(物理)麦克风的输入。

使用此类,可以从启动和关闭内置麦克风,获取可用音频输入设备(麦克风)列表,获取每个输入设备状态。

没有组件用于麦克风 (Microphone) 类,可通过脚本直接访问。有关更多信息,请参阅脚本参考中的 Microphone 页面。

声音播放组件

// 声音组件(可手动添加,也可如下代码添加) 
private AudioSource audio;
// 声音片段(音频格式都支持)
public AudioClip clip;
void Start () {
     
    audio = this.gameObject.AddComponent<AudioSource>();
    // 一开始就播放
    audio.playOnAwake = true;
    // 声音片段
    audio.clip = clip;
    // 设置循环播放
    audio.loop = true;
    // 音量大小
    audio.volume = 0.2f;
    // 倍率播放(2倍播放)
    audio.pitch = 2f;
    // 静音播放
    audio.mute = true;
}

void Update () {
    if (Input.GetMouseButtonDown(0))
    {
        // 播放声音
        audio.Play();
    }
    if (Input.GetMouseButtonDown(1))
    {
        // 暂停播放
        audio.Pause();
    }
    if (Input.GetMouseButtonDown(2))
    {
        // 停止播放
        audio.Stop();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容