与网格或纹理一样,__音频文件__资源的工作流程非常流畅且可靠。Unity 可以导入几乎任何常见文件格式,但在处理音频文件时,有一些细节值得注意。
自 Unity 5.0 开始,音频数据与实际音频剪辑 (AudioClip) 分离。音频剪辑仅仅是引用包含音频数据的文件,音频剪辑(AudioClip)导入器中有各种选项组合用于确定在运行时如何加载剪辑。这意味着您可以非常灵活地确定哪些音频资源应始终保留在内存中(因为您可能无法预测音频资源的播放频率和速度,例如脚步、武器和撞击的声音),而哪些资源可以根据需要加载,或者随着玩家通关而逐渐加载(语音、背景音乐、氛围循环音乐等等)。
When audio is encoded in Unity the main options for how it is stored on disk is either PCM, ADPCM or Compressed. Additionally there are a few platform-specific formats, but they work in similar ways. Unity supports most common formats for importing audio (see the list below) and will import an audio file when it is added to the project. The default mode is Compressed, where the audio data is compressed with either Vorbis/MP3 for standalone and mobile platforms.
有关压缩格式以及音频数据编码时可以使用的其他选项的详细描述,请参阅音频剪辑文档。
导入到 Unity 中的任何音频文件都可以作为__音频剪辑__实例在脚本中获取,因此可让音频系统在游戏运行时能够访问经过编码的音频数据。游戏可以在实际音频数据加载之前通过音频剪辑来访问有关音频数据的元数据信息。之所以能实现这一点,是因为导入过程已从编码的音频数据中提取了各种信息,例如长度、声道数和采样率,并将其存储在音频剪辑中。这在创建自动对话或音乐排序系统时可能很有用,因为音乐引擎可以在实际加载数据之前使用关于长度的信息来安排音乐播放。此外,由于只需将某一时间需要的音频剪辑保留在内存中,因此还有助于减少内存使用量。
格式 | 扩展名 |
---|---|
MPEG layer 3 | .mp3 |
Ogg Vorbis | .ogg |
Microsoft Wave | .wav |
音频交换文件格式 | .aiff / .aif |
Ultimate Soundtracker 模块 | .mod |
Impulse Tracker 模块 | .it |
Scream Tracker 模块 | .s3m |
FastTracker 2 模块 | .xm |
有关在 Unity 中使用声音的更多信息,请参阅音频概述。