Sound

音频侦听器 (Audio Listener)

音频侦听器 (Audio Listener) 充当类似于麦克风的设备。它从场景中的任何给定音频源 (Audio Source) 接收输入,并通过计算机扬声器播放声音。对于大多数应用程序,最有意义的是将侦听器附加到相机 (Camera)。如果音频侦听器 (Audio Listener) 处于混响区域 (Reverb Zone) 边界内,则会对场景中的所有可听见声音应用混响。(仅限专业版)而且,音频效果 (Audio Effect) 可以应用于侦听器,并且将应用于场景中的所有可听见声音。


附加到主相机 (Main Camera) 的音频侦听器 (Audio Listener)

属性

音频侦听器 (Audio Listener) 没有属性。它只是必须添加才能正常工作。它在默认情况下始终添加到主相机 (Main Camera)。

详细信息

音频侦听器 (Audio Listener) 与音频源 (Audio Source)协同工作,使您可以为游戏创造听觉体验。将音频侦听器 (Audio Listener) 附加到场景中的游戏对象 (GameObject) 时,会选取足够接近侦听器的任何源并将其输出到计算机的扬声器。每个场景都只能有 1 个音频侦听器 (Audio Listener) 正常工作。

如果源是三维源(请参阅音频片段 (Audio Clip)) 中的导入设置),则侦听器将在三维世界坐标中模仿声音的位置、速率和方向(可以在Au音频源 (Audio Source)) 中非常详细地调整衰减和三维/二维行为)。二维将忽略任何三维处理。例如,如果角色从街道走入夜总会,则夜总会的音乐可能应是二维的,而夜总会中的角色的各个语音应是单声道,其现实定位由 Unity 处理。

应将音频侦听器 (Audio Listener) 附加到主相机 (Main Camera) 或表示播放器的游戏对象 (GameObject)。尝试这两者以发现哪个更适合于游戏。

提示

音频源 (Audio Source)

Aud音频源 (Audio Source) 在场景中播放音频片段 (Audio Clip) 。如果音频片段 (Audio Clip) 为三维片段,则源在给定位置进行播放并会随着距离而衰减。音频可以在扬声器(立体声到 7.1)之间散播(散播 (Spread))并在三维与二维之间变形(平移级别 (PanLevel))。这可以使用衰减曲线 (falloff curve) 随着距离进行控制。此外,如果侦听器处于一个或多个混响区域 (Reverb Zone)内,则会对源应用混响。(仅限专业版)可以将各个过滤器应用于每个音频源 (Audio Source),以获得甚至更丰富的音频体验。有关更多详细信息,请参阅音频效果 (Audio Effect)


场景视图 (Scene View) 中的音频源 (Audio Source) 小图示及其在检视器 (Inspector) 中的设置。

属性

属性:
功能:
音频片段 (Audio Clip)对将播放的声音片段文件的引用。
静音 (Mute)如果启用,声音会进行播放,但会静音。
绕过效果 (Bypass Effects)这是用于快速“绕过”应用于音频源 (Audio Source) 的过滤器效果。关闭/打开所有效果的方便途径。
唤醒时播放 (Play On Awake)果启用,声音会在场景启动时开始播放。如果禁用,需要在脚本中使用 Play() 命令启动它。
循环 (Loop)启用此项可使音频片段 (Audio Clip) 在达到结尾时循环。
优先级 (Priority)确定此音频源 (Audio Source) 在场景中共存的所有音频源 (Audio Source) 间的优先级。(优先级 (Priority):0 = 最重要。256 = 最不重要。默认 = 128。)。将 0 用于音乐轨道可避免它偶尔换出。
音量 (Volume)音频侦听器 (Audio Listener) 相距一个世界坐标单位(一米)处的声音高低程度。
音调 (Pitch)由于音频片段 (Audio Clip)减慢/加快而形成的音调变化量。值 1 为正常播放速度。
三维声音设置 (3D Sound Settings)音频片段 (Audio Clip) 为三维声音时应用于音频源 (Audio Source) 的设置。
平移级别 (Pan Level)设置三维引擎对音频源 (Audio Source) 的影响程度。
散播 (Spread)设置在扬声器空间中相对于三维立体声或多声道声音的散播角度。
多普勒级别 (Doppler Level)确定对此音频源 (Audio Source) 应用的多普勒效应量(如果设置为 0,则不应用任何效应)。
最小距离 (Min Distance)在最小距离 (MinDistance) 内,声音会保持为可能的最高音量。在最小距离 (MinDistance) 外,它会开始衰减。增大声音的最小距离 (MinDistance) 可使其在三维世界坐标中“更大声”,减小它可使其在三维世界坐标中“更安静”。
最大距离 (Max Distance)声音停止衰减处的距离。超过此点,它会保持为与侦听器相距最大距离 (MaxDistance) 处的音量,不会再衰减。
滚降模式 (Rolloff Mode)声音的降低速度。值越高,在听到声音之前便必须越接近侦听器。(这由一个图形确定)。
对数滚降 (Logarithmic Rolloff)在接近音频源 (Audio Source) 时,声音较高,但是在远离对象时,它会以极快速度降低。
线性滚降 (Linear Rolloff)离音频源 (Audio Source) 越远,可以听到的声音越少。
自定义滚降 (Custom Rolloff)来自音频源 (Audio Source) 的声音的行为取决于设置滚降图的方式。
二维声音设置 (2D Sound Settings)音频片段 (Audio Clip) 为二维声音时应用于音频源 (Audio Source) 的设置。
二维平移 (Pan 2D)设置引擎对音频源 (Audio Source) 的影响程度。

滚降类型

有三种滚降模式:对数滚降 (Logarithmic Rolloff)、线性滚降 (Linear Rolloff) 和自定义滚降 (Custom Rolloff)。可以通过修改音量距离曲线来修改自定义滚降 (Custom Rolloff)(如下所述)。如果尝试在设置为“对数”(Logarithmic) 或“线性”(Linear) 时修改音量距离函数,则类型会自动更改为“自定义滚降”(Custom Rolloff)。


音频源 (Audio Source) 可以具有的滚降模式。

距离函数

可以按音频源 (Audio Source) 与音频侦听器 (Audio Listener) 之间距离的函数形式修改音频的几个属性。

音量 (Volume): 随着距离变化的幅度 (0.0 - 1.0)。
平移 (Pan): 随着距离从左 (-1.0) 到右 (1.0)。
速度 (Spread): 随着距离变化的角度(0.0 - 360.0 度)。
低通 (Low-Pass)(仅当低通过滤器 (LowPassFilter) 附加到音频源 (AudioSource) 时):随着距离变化的截止频率 (Cutoff Frequency) (22000.0-10.0)。


“音量”(Volume)、“平移”(Pan)、“散播”(Spread) 和“低通”(Low-Pass) 音频过滤器的距离函数。距离音频侦听器 (Audio Listener) 的当前距离在图中进行了标记。''

要修改距离函数,可以直接编辑曲线。有关更多信息,请参阅编辑曲线

创建音频源 (Audio Source)

在未分配音频片段 (Audio Clip) 的情况下,音频源 (Audio Source) 不执行任何操作。片段是将播放的实际声音文件。源类似于用于开始和停止片段播放以及修改其他音频属性的控制器。

创建新音频源 (Audio Source):

  1. 将音频文件导入至 Unity 工程。这些文件现在是音频片段 (Audio Clip)。
  2. 从菜单栏转至游戏对象 (GameObject) -> 创建空白对象 (Create Empty)
  3. 在选择新游戏对象 (GameObject) 的情况下,选择组件 (Component) -> 音频 (Audio) -> 音频源 (Audio Source)
  4. 在检视器 (Inspector) 中分配音频源组件 (Audio Source Component) 的 音频片段 (Audio Clip) 属性。

注意: 如果只是要为“资源”(Assets) 文件夹中的一个音频片段 (Audio Clip) 创建音频源 (Audio Source) ,则可以只将该片段拖动到场景视图 - 会为其自动创建具有音频源 (Audio Source) 组件 (Component) 的游戏对象 (GameObject)。将片段拖动到游戏对象 (GameObject) 中会附加片段以及新音频源 (Audio Source) (如果其中尚不存在)。如果对象已具有音频源 (Audio Source) ,则新拖动的片段将替换源当前使用的片段。

平台相关详细信息

iOS

在移动平台上,压缩音频编码为 MP3 以实现更快的解压缩。请注意:此压缩可能删除片段结尾的采样,并可能破坏“完美循环”片段。请确保片段正处于特定 MP3 采样边界上以避免出现采样裁剪 - 可随处获得用于执行此任务的工具。出于性能原因,可以使用 Apple 硬件编解码器播放音频片段 (Audio Clip)。要实现这一点,请在导入设置中选中“使用硬件” (Use Hardware) 复选框。有关更多详细信息,请参阅 音频片段 (Audio Clip) 文档。

安卓 (Android)!

在移动平台上,压缩音频编码为 MP3 以实现更快的解压缩。请注意:此压缩可能删除片段结尾的采样,并可能破坏“完美循环”片段。请确保片段正处于特定 MP3 采样边界上以避免出现采样裁剪 - 可随处获得用于执行此任务的工具。

音频片段 (Audio Clip)

音频片段 (Audio Clip) 包含音频源 (Audio Source)。 Unity 支持单声道、立体声和多声道音频资源(最多八个声道)。Unity 可以导入的音频文件格式包括 .aif.wav.mp3.ogg 。Unity 还可以导入 .xm.mod.it.s3m 格式的 tracker modules(跟踪器模块)。跟踪器模块资源的行为方式与 Unity 中的任何其他音频资源相同,不过资源导入检视器中不提供 波形预览。


音频片段 (Audio Clip) 检视器 (Inspector)

属性

属性:功能:
音频格式 (Audio Format)运行时用于声音的特定格式。
原生 (Native)此选项以较大文件大小为代价提供 较高质量,最适合于非常短的声音效果。
压缩 (Compressed)压缩可生成较小文件,但是与原生音频相比质量有所下降。此格式最适合于中等长度声音效果和音乐。
三维声音 (3D Sound)如果启用,声音会在三维空间中播放。单声道和立体声声音都可以进行三维播放。
强制单声道 (Force to mono)如果启用,则音频片段会降混为单声道声音。
加载类型 (Load Type)Unity 在运行时用于加载音频资源的方法。
加载时解压缩 (Decompress on load)音频文件将在加载之后立即解压缩。将此选项用于较小的压缩声音可避免动态解压缩的性能开销。请注意,加载时解压缩声音使用的内存比保持声音处于压缩状态时大约多十倍,因此请勿将此选项用于大型文件。
在内存中保持压缩状态 (Compressed in memory)使声音在内存中保持压缩状态并在播放时解压缩。此选项具有少量性能开销(尤其是对于 Ogg/Vorbis 压缩文件),因此仅将其用于加载时解压缩会使用过多内存量的较大文件。请注意,由于技术限制,在使用 FMOD 音频的平台上,此选项对于 Ogg Vorbis 资源会无提示地切换为从光盘进行流式处理 (Stream From Disc)(请参阅下文)。
从光盘进行流式处理 (Stream from disc)直接从光盘对音频数据进行流式处理。此选项使用的内存通常是文件大小的一小部分,因此对于音乐或其他很长的音轨十分有用。出于性能原因,通常建议一次仅从光盘对一个或两个文件进行流式处理,不过可以从容处理的流数量取决于硬件。
压缩 (Compression)应用于压缩片段的压缩量。 可以在滑块下查看有关文件大小的统计信息。调整此值的一个好方法是将滑块拖动到保持播放“足够良好”、同时文件小到足以满足分发要求的位置处。
硬件解码 (Hardware Decoding)(iOS (仅限 iOS)在 iOS 设备上,可以使用 Apple 的硬件解码器,从而在解压缩过程中产生较小的 CPU 开销。有关更多信息,请查看平台相关详细信息。
无缝循环 (Gapless looping)(仅限 Android/iOS)在压缩无缝循环音频源文件(采用非压缩 PCM 格式)时使用此选项可确保在对接处保持完美的连续性。标准 MPEG 编码器在循环点处引入了一个较短无声期,这可作为短暂的“嘀嗒”或“嘭嘭”声听见。

导入音频资源

Unity 支持压缩 (Compressed)原生 (Native) Audio. 音频。任何类型的文件(除了 MP3/Ogg Vorbis)最初都将以原生 (Native) 形式导入。压缩音频文件必须在游戏运行时由 CPU 解压缩,但是具有较小文件大小。如果选中流式处理 (Stream),则音频会动态解压缩,否则它会在加载之后立即完全解压缩。原生 PCM 格式 (WAV、AIFF) 的好处是可提供 较高保真度而不会增加 CPU 开销,但是这些格式的文件通常比压缩文件大得多。模块文件 (.mod、.it、.s3m、.xm) 可以提供 非常高的质量,同时体积极小。

一般而言,压缩 (Compressed) 音频(或模块)最适合于较长文件(如背景音乐或对话),而原生 (Native) 更适合于较短声音效果。应使用压缩率滑块调整压缩量。从高压缩率开始,逐渐将设置减小到可察觉到声音质量损失的位置。然后,再次稍稍增大它,直至可察觉到的质量损失消失。

使用三维音频

如果音频片段标记为三维声音 (3D Sound),则其播放方式会模拟其在游戏世界坐标三维空间中的位置。三维声音通过衰减音量并在扬声器间平移来仿真声音的距离和位置。单声道和多声道声音都可以进行三维定位。对于多声道音频,使用音频源 (Audio Source) 上的传播 (spread) ,则其播放方式会模拟其在游戏世界坐标三维空间中的位置。三维声音通过衰减音量并在扬声器间平移来仿真声音的距离和位置。单声道和多声道声音都可以进行三维定位。对于多声道音频,使用音频源 (Audio Source) 组件参考。

平台相关详细信息

iOS

在移动平台上,压缩音频编码为 MP3 以利用硬件解压缩。

要提高性能,可以使用 Apple 硬件编解码器播放音频片段。要启用此选项,请在“音频导入程序 (Audio Importer)” 中选中“硬件解码”(Hardware Decoding) 复选框。请注意,一次只能解压缩一个硬件音频流,包括背景 iPod 音频。

如果硬件解码器不可用,则解压缩将重新由软件解码器进行(在 iPhone 3GS 或更高版本上,Apple 的软件解码器优先于 Unity 自己的解码器 (FMOD) 进行使用)。

Android

在移动平台上,压缩音频编码为 MP3 以利用硬件解压缩。

Page last updated: 2007-11-16