《Unity虚拟现实开发实践》Unity 音频系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果启用,音频剪辑将在后台加载,而不会导致主线程上的停顿。默认情况下,这是 关闭的,以确保在场景开始播放时所有AudioClip已完成加载的标准Unity行为。注意, 仍会在后台加载的AudioClip上的播放请求将被延迟,直到剪辑完成加载。可以通过 AudioClip.loadState属性查询加载状态
• 为了模拟位置的影响,Unity 要求声音来自附加到对象的音频源(AudioSource)。音频源播放的声音由 连接到另一个物体(通常是主摄像机)的音频侦听器拾取。Unity 可以模拟因距离和位置产生的声音效果, 并相应地将它们播放给用户。音频源和侦听器对象的相对位置也可用于模拟多普勒效应以增加真实感。
返回目录
10.1.1 10.1.2
10.1 音频系统概述
音频基本理论 使用音频文件
10.1.1 音频基本理论
• 在现实生活中,声音由物体发出并由听者听到,声音被感知的方式取决于许多因素,听者可以粗略地分辨 出声音来自哪个方向,大体感知它的响度和质量。快速移动的声源(如坠落的炸弹或过往的警车)发出的 声音会因多普勒效应而改变音高。此外,环境会影响声音的反射方式,因此洞穴内的声音会产生回声,但 露天的声音却不会。
• 在声音方面,Unity 还支持跟踪器模块,这些模块使用短音频片段绑定某一时刻事件进行音效播放。跟踪 器模块可以从.xm、.mod、.it 和.s3m 文件导入,其资源使用方式与普通音频片段的使用方式大致相同。
• 下面为大家列出 Unity 目前所支持的音频文件格式,如表所示。
格式 MPEG layer 3 Ogg Vorbis Microsoft Wave Audio Interchange File Format Ultimate Soundtracker module Impulse Tracker module Scream Tracker module FastTracker 2 module
Play On Awake
Loop
Priority
Volume Pitch Stereo Pan
功能 将要播放的声音片段文件 声音可以通过音频监听器或音频混合器输出 如果启用,声音将播放但静音 这是为了快速“旁路”应用于音频源的滤镜效果。打开/关闭所有效果的简单方法 这是为了快速打开/关闭所有Listener效果
这是为了快速打开/关闭所有混响区域 如果启用,声音将在场景启动时开始播放。如果禁用,则需要使用脚本中的Play() 命令启动它
启用此选项可在音频片段到达结尾时进行循环播放 确定此场景中共存的所有音频源的优先级。(优先级:0 =最重要.256 =最不重要。 默认= 128.)。使用0表示音乐曲目,以避免偶尔换掉音乐曲目
Max Distance Rolloff Mode
• Unity Audio Mixer(混音器)允许用户混合各种音频,给它们添加效果以及执行母带制作。音频源、音 频侦听器、音频混音器、音频效果和混响区的制作和使用将在下面的章节中具体介绍。
10.1.2 使用音频文件来自• Unity 可以像导入其他资源一样导入.aiff、.wav、.mp3 和.ogg 音频文件,只需将文件拖到Project 视图 中即可。导入音频文件会创建音频片段,然后开发者可以将其拖动到音频源或从脚本中使用。
-Compressed In Memory
-Streaming
功能 强迫单声道。启用此选项后,多声道音频将在打包前混合到单声道音轨 启用此选项后,将在“Force To Mono”混音过程中对音频进行标准化 启用此选项后,剪辑的加载将在单独的线程上的延迟时间发生, 而不会阻止主线程
Ambisonic音频源以一种格式存储音频,该格式表示可以根据收听者的方向旋 转的声场。它对360度视频和XR应用程序很有用。如果用户的音频文件包含 Ambisonic编码的音频,启用此选项即可
距离音频监听器一个世界单位(一米)的声音有多大声 由音频剪辑的减速/加速引起的音调变化量。值1是正常播放速度 设置2D声音在立体声场中的位置
10.2.2 音频源
Spatial Blend Reverb Zone Mix 3D Sound Settings Doppler Level Spread
Min Distance
Preload Audio Data
Quality
在运行时将用于声音的特定格式。注意,可用选项取决于当前选定的构建目标 此选项以更大的文件大小为代价提供更高的质量,最适合非常短的声音效果 这种格式对于包含大量噪音且需要大量播放的声音非常有用,例如脚步声,撞击声, 武器。压缩比是PCM的3.5倍,但CPU使用率远低于MP3 / Vorbis格式,这使其成为上 述类别声音的首选
• Unity 无法完全根据场景计算回波,但用户可以通过向对象添加音频过滤器来模拟它们。例如,用户可以 将回声过滤器应用于应该来自洞穴内的声音。在物体移入和移出具有强回声的地方的情况下,用户可以向 场景添加混响区。例如,用户的游戏可能涉及驾车穿过隧道,如果在隧道内放置一个混响区,那么汽车的 发动机声音会在它们进入隧道时开始有回声,当它们从隧道另一侧出现时,回声会消失。
第10章 Unity音频系统
• 音频系统概述 • 音频系统核心介绍
• Helicopter实战:为游戏场景添加声 音
音频系统概述
☞点击查看本小节知识架构
音频系统核心介绍
☞点击查看本小节知识架构
Helicopter实战:为游戏场景添加声音
☞点击查看本小节知识架构
学习目标
1 了解Unity声音系
统各功能模块
• 1.创建 Audio Source • 音频源可以充当音频控制器,用于启动和停止所指定的音频片段的播放,以及修改其他音频属性。场景中
添加了音频源,音频片段同样必不可少,否则也就没有了意义。 • 创建一个音频源,通常可以分为四个步骤。 • (1)将音频文件导入 Unity 项目,它们就是音频片段。 • (2)从菜单栏选择 GameObject→Create Empty。 • (3)选中新的 GameObject 后,选择 Component→Audio→Audio Source。 • (4)在 Inspector 视图中分配 Audio Source Component 的 Audio Clip 属性。
.mp3 .ogg .wav .aiff / .aif .mod .it .s3m .xm
后缀名
返回目录
10.2.1 10.2.2 10.2.3 10.2.4
10.2 音频系统核心介绍
音频片段 音频源 音频侦听器 混音器
返回目录
10.2.1 10.2.2 10.2.3
10.2 音频系统核心介绍
音频过滤器 音频效果 混响区
• 任何一个音频片段的具体信息都可以在 Inspector 视图查看,如右图所示。
10.2.1 音频片段
• 下面具体介绍音频片段资源包含的属性信息,如表所示。
属性 Force To Mono Normalize Load In Background
Ambisonic Load Type -Decompress On Load
确定要应用于压缩剪辑的压缩量。 不适用于PCM / ADPCM / HEVAG格式。 可以在检 查器中查看有关文件大小的统计信息。 调整此值的一个好方法是将滑块拖动到使播放 “足够好”的位置,同时保持文件足够小以满足用户的分发要求。注意,原始大小与原 始文件有关,因此如果这是一个MP3文件并且压缩格式设置为PCM(即未压缩),则 生成的比率将大于100%,因为该文件现在未压缩存储并占用更多 空间比它来自的源 MP3
10.2.1 音频片段
• 音频片段包含音频源使用的音频数据。 Unity 支持单声道、立体声和多声道音频资 源(最多 8 个频道)。Unity 可以导入的音 频文件格式有.aif、.wav、.mp3、.ogg 等。 Unity 还可以导入.xm、.mod、.it和.s3m 格式的跟踪器模块,虽然资源导入检查器中 没有它们的波形预览,但跟踪器模块资源的 行为与 Unity 中任何其他音频资源的行为方 式相同。
10.2.2 音频源
• 2.Audio Source 组件 • 音频源的主要组件是 Audio Source 组件,如
右图所示。
10.2.2 音频源
• 下面具体介绍 Audio Source 组件包含的属性信息,如表所示。
属性 Audio Clip Output Mute Bypass Effects Bypass Listener Effects Bypass Reverb Zones
掌握制作音频的流 程
2
掌握
掌握播放音频的方
法3
• 缺少了声音,无论是背景音乐还是音效,游戏都是不完整的。Unity 内置的音频系统灵活而强大,它可以 导入大多数标准格式音频文件,并具有在3D 空间中播放声音的复杂功能,可选择应用回声和滤波等效果。 Unity 还可以记录用户计算机上任何可用麦克风的音频,以便在游戏过程中使用或存储和传输。
Unity用于在运行时加载音频资源的方法 音频文件加载后将立即解压缩。对较小的压缩声音使用此选项可以避免动态解 压缩的性能开销。注意,在加载时解压缩Vorbis编码的声音将比使其保持压缩 大约多十倍的内存(对于ADPCM编码约为3.5倍),因此请勿对大文件使用此 选项
将声音压缩在内存中并在播放时解压缩。此选项具有轻微的性能开销(特别是 对于Ogg / Vorbis压缩文件),因此仅将其用于较大的文件,其中加载时的解 压缩将使用大量的内存。解压缩发生在混音器线程上,可以在探查器窗口的音 频窗格中的“DSP CPU”部分进行监视
动态解码声音。此方法使用最少量的内存来缓冲从磁盘中逐步读取并在运行中 解码的压缩数据。注意,解压缩发生在单独的流线程上,可以在Profiler窗口的 音频窗格的“Streaming CPU”部分中监视其CPU使用情况。注意:即使没有加载 任何音频数据,流媒体片段的重载约为200KB
10.2.1 音频片段
10.2.2 音频源
• 音频源是在场景中播放音频片段的位置,就像现实生活中的音响设备一样。音频片段可以播放给音频收听 者或通过音频混合器播放。音频源可以播放任何类型的音频片段,并且可以设置为以 2D、3D 或混合 (Spatial Blend)的形式播放这些音频片段。
• 此外,如果音频侦听器位于一个或多个混响区内,则会对音频源添加混响。可以将各个滤波器应用于每个 音频源,以获得更丰富的音频体验。
压缩导致较小的文件,但与PCM音频相比质量稍低。压缩量可通过“质量”滑块进行配 置。此格式最适合中等长度的音效和音乐
这是PS Vita上使用的原生格式。其规格与ADPCM格式的规格非常相似 PCM和ADPCM压缩格式允许自动优化或手动降低采样率 此设置可保持采样率不变(默认值) 此设置根据分析的最高频率内容自动优化采样率 此设置允许手动覆盖采样率,因此可以有效地将其用于丢弃频率内容 如果启用,音频剪辑将向下混合为单声道声音。在向下混频之后,信号被峰值归一化, 因为下混合过程通常会产生比原始信号更安静的信号,因此峰值归一化信号通过 AudioSource的音量属性为以后的调整提供了更好的余量
Compression Format -PCM -ADPCM -Vorbis/MP3 -HEVAG Sample Rate Setting -Preserve Sample Rate -Optimize Sample Rate -Override Sample Rate Force To Mono
Load In Background
如果启用,则在加载场景时将预加载音频剪辑。默认情况下,此选项反映标准Unity行 为,其中所有AudioClip在场景开始播放时已完成加载。如果未设置此标志,则音频数 据将加载到第一个AudioSource.Play()/ AudioSource.PlayOneShot()上,或者可以 通过AudioSource.LoadAudioData()加载,然后通过AudioSource.UnloadAudioData ()再次卸载
相关文档
最新文档