与网格或纹理一样,音频文件资源的工作流程旨在流畅且无故障。Unity 可以导入几乎所有常见的音频文件格式,但在处理音频文件时,有一些细节需要注意。
从 Unity 5.0 开始,音频数据与实际的 AudioClip 分开。AudioClip 仅仅引用包含音频数据的文件,并且 AudioClip 导入器中有多种选项组合可以确定在运行时如何加载剪辑。这意味着您可以灵活地决定哪些音频资源应始终保留在内存中(因为您可能无法预测它们播放的频率或速度,例如脚步声、武器和撞击声),而其他资源则可以按需或在玩家逐步完成关卡时逐渐加载(语音、背景音乐、环境循环等)。
当音频在 Unity 中编码时,其在磁盘上的主要存储方式是 PCM、ADPCM 或 压缩。此外,还有一些特定于平台的格式,但它们的工作方式相似。Unity 支持大多数常见的音频导入格式(请参见下面的列表),并在音频文件添加到项目时将其导入。默认模式为 压缩,其中音频数据使用 Vorbis/MP3 压缩,适用于独立平台和移动平台。
有关 压缩一种存储数据的方法,可减少其所需的存储空间。请参阅 纹理压缩、动画压缩、音频压缩、构建压缩。
请参阅 术语表 格式和其他可用于编码音频数据的选项的详细说明,请参阅 AudioClip 文档。
导入到 Unity 的任何音频文件都可以从 脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以任何您喜欢的方式响应用户输入。更多信息
请参阅 术语表 中作为 音频剪辑Unity 中音频数据的容器。Unity 支持单声道、立体声和多声道音频资源(最多 8 个通道)。Unity 可以导入 .aif、.wav、.mp3 和 .ogg 音频文件格式,以及 .xm、.mod、.it 和 .s3m 跟踪器模块格式。更多信息
请参阅 术语表 实例获得,它为音频系统的游戏运行时提供了一种访问编码音频数据的方法。即使在实际音频数据加载之前,游戏也可以通过 AudioClip 访问有关音频数据的元信息。这是因为导入过程已从编码的音频数据中提取了各种信息片段(例如长度、通道数和采样率),并将其存储在 AudioClip 中。例如,这在创建自动对话或音乐排序系统时非常有用,因为音乐引擎可以使用有关长度的信息在实际加载数据之前安排音乐播放。它还有助于减少内存使用,因为仅将此时所需的音频剪辑保留在内存中。
格式 | 扩展名 |
---|---|
MPEG 第 3 层 | .mp3 |
Ogg Vorbis | .ogg |
Microsoft Wave | .wav |
无损音频编解码器 (FLAC) | .flac |
音频交换文件格式 | .aiff / .aif |
Ultimate Soundtracker 模块 | .mod |
Impulse Tracker 模块 | .it |
Scream Tracker 模块 | .s3m |
FastTracker 2 模块 | .xm |
有关在 Unity 中使用声音的更多信息,请参阅 音频概述。