基本来说就是翻译并记录一下官网对AudioClip的Manual文档说明:https://docs.unity3d.com/2017.4/Documentation/Manual/class-AudioClip.html。文档版本是2017.4。
Audio Clip
Audio Clips包含着被Audio Source使用的数据。Unity支持单声道、立体声/双声道,以及多声道(最高为8声道即7.1环绕声)的音频资产。Unity支持的音频格式为:.aif、.wav、.mp3和.ogg。Unity也可导入Tracker Modules文件,格式为.xm、.mod、.it和.s3m。Tracker Module资产和音频资产在Unity引擎中的表现方式一致,唯一区别是Tracker Module资产不会像音频资产那样在Inspector窗口中拥有一个波形预览图。
设置 Options
Force To Mono
勾选后,在打包游戏前,双声道多声道的音频资产都会被下混(术语,mix down)为单声道音频资产。
Normalize
勾选后,勾选了上述Force To Mono的音频在下混时,会被标准化(Normalized,搜索Audio Normalization)。
Load In Background
勾选后,该音频资产的加载,会在一个独立线程上、延迟一段时间后开始,加载不会阻塞主线程。
Ambisonic
Ambisonic音频资产,将音频数据存储在一种具有声场(SoundField)的音频格式中,这种声场能让音频随着监听者的旋转而旋转。可见这适用于360°全景视频和VR/XR应用中。如果你的音频文件包含这种Ambisonic编码的音频资产,就勾选这个选项告诉Unity。
后面的属性顺序稍微换一下,先写压缩格式设置。
压缩格式 Compression Format
该选项设置的是,在程序运行时音频资源具体的压缩格式。需要知道的是,这个选项的具体选项内容取决于你当前选中的音频资产。
PCM:这个选项压缩得到高质量音频,代价是文件体积巨大,所以更适合很短的音效音频;
ADPCM:此格式适用于包含大量噪音且需要大量播放的声音(例如脚步声、撞击声、武器声音)。较于 PCM,ADPCM压缩能力提高 3.5 倍,但 CPU 使用率远低于 MP3/Vorbis 格式,因此成为上述声音类别的最佳压缩方案;
Vorbis/MP3:与 PCM 音频相比,Vorbis压缩会得到更小的音频文件但质量有所降低。可通过 Quality 滑动条来设置压缩量。这个格式最适合中等长度的音效和音乐音频;
(其它就是平台专属的一些格式了,比如HEVAG是PSVita独有格式,其效果类似ADPCM)
加载方式 Load Type
Decompress On Load:音频文件会在它们被加载后尽可能快地解压。建议对较小的压缩音频设置该选项,避免匆忙解压造成的性能消耗。注意:对Vorbis压缩方式的音频使用此选项,相较于Compress In Memory加载方式,会额外造成10倍的内存开销。对ADPCM而言这一差别则是额外3.5倍,所以,不要对大文件使用该选项。
Compressed In Memory:让音频在内存中保持压缩,只在播放时才加载。这个设置会造成一点点的性能开销(特别是对于Ogg/Vorbis压缩格式的文件),所以只在那些采用DecompressOnLoad格式会带来不可忍受的内存开销的大音频文件上设置该选项。解压过程在mixer线程中进行,可以在Unity Profile(Ctrl+7)的音频部分的DSP CPU那项上看见CPU小号。
Streaming:匆忙地解码音频。这个加载方式使用最少的内存去缓冲逐渐从硬盘上读取到的压缩数据并解码。注意:这一解压过程在单独的streaming线程上进行,其CPU消耗可以在上述窗口的Streaming CPU部分监控到。同时注意:即使没有加载任何音频数据,该加载方式也会有大约200KB的负载量。
采样率设置 Sample Rate Setting
Preserve Sample Rate:保持音频原有采样率;
Optimize Sample Rate:自动地根据检测到的音频中的最高频内容动态地调整采样率;
Overrde Sample Rate:手动覆盖采样率,可用此选项来抛弃一些频段的内容。
最重要但是放在最后的东西来了。真的离谱,官方文档把这说明放在最后。
导入音频资产 Importing Audio Assets
Unity可以读取很多源文件格式。但无论何时导入一个外部文件,它都会被转码为适合构建对象的格式和音频。(就是说,比如导入一个ogg文件,Unity内压缩格式设置为PCM,也会先被解码然后再按PCM编码导入到内存中)这可通过上述的Compression Format调整。
通常,PCM和Vorbis/MP3适合将声音保持为接近其原貌。PCM需要很少的CPU消耗,因为音频是未压缩的所以可以直接通过在内存中读取获得。Vorbis/MP3允许通过调节Quality滑动条减小音频信息的丢失。(真的nmd和前面的东西自相矛盾啊)
ADPCM 是内存和 CPU 使用率之间的折衷方案,因为它仅使用比未压缩 PCM 选项略多的 CPU,但产生恒定的 3.5 压缩比,与使用 Vorbis 或 MP3 可实现的压缩相比,压缩能力通常是其 1/3。此外,ADPCM(如 PCM)允许自动优化或手动设置要使用的采样率,在声音的频率内容可接受的质量损失范围内,可进一步压缩打包声音资源的大小。
模块文件(.mod、.it、s3m 和 .xm)可以提供极高的质量,但体积却极小。使用模块文件时,除非有特别需求,否则请确保将 Load Type 设置为 Compressed In Memory_,因为如果将其设置为 Decompress On Load_,那么整首歌曲都将被解压缩。这是 Unity 5.0 中的一种新行为,允许对这些类型的剪辑使用 GetData/SetData,但音轨模块的一般和默认用例是将它们压缩在内存中。
一般经验法则,压缩过的音频(或模块)最适合长音频文件(如背景音乐或对话),而 PCM 和 ADPCM 更适合包含一些噪音的短音效,因为 ADPCM 的瑕疵在平滑信号上太明显。您应该使用压缩滑动条来调整压缩量。从高压缩开始,逐渐将设置降低至可感知到音质损失的程度。然后,再稍微增加,直到感知到的质量损失消失。