上次更新 :17.09.2015
英文原版 作者:Dani Kogan
- 增加了音频压缩的部分
- 增加了音频流的部分
- 改进了两处关于导入格式的翻译

各引擎音频特性实现对照表
#GameAudioTable V2.7

GitHub 仓库(附源代码)

绿色:具备特性
黄色:存在变通的办法
红色:(据我所知)不存在


注:将鼠标悬浮在第二列的特性名上可看到相关介绍

引擎

Unity 5

Fabric

Master Audio

Unreal 4

Wwise

FMOD

特性

Unity 插件
文档 点击此处 点击此处 点击此处 点击此处 点击此处 点击此处
售价
(能获取到的最低售价)
免费
(营业收入低于10万美刀)
免费
(预算低于15万美刀)
45美刀 营业收入的百分之五
或 定制许可
免费
(少于200个素材)
免费
(预算低于10万美刀)
音效 声音变化 AudioClip[] Random Component Drag and Drop Multiple Audio Clips SoundCue -> Random Node Random Container 添加多个声音文件
调节音调 audio.pitch = Random.Range (Min,Max)] Audio Component -> Rand Pitch (+/-) Master Audio Group -> Use Random Pitch SoundCue -> Modulator Node Randomizer Modulation -> Random
变量的优先级/概率 自己敲代码实现 Event Trigger -> Probability Master Audio Group -> Voices (Weight) SoundCue -> Modulator Node -> Weights Weight Play Percentage
3D 三维声音 Sound Source -> Unity's Audio Source 3D Settings Audio Component ->
Unity's Audio Source 3D Settings
Sound Source ->
Unity's Audio Source 3D Settings
3D -> Set Attenuation Positioning -> 3D Master Track -> 3D Panner
自定义滑离/衰减曲线 1 Sound Source -> 3D Settings Runtime Parameter -> Parameter
-> Distance, Property Volume.
& Audio Component -> Override Unity's 3D -> Max Distance = Min Parameter Value
Sound Source -> Unity's 3D Settings Blueprints -> Attenuation Node -> Size Adjustments Positioning -> Attenuation -> Edit 3D Panner -> Off -> Add Built-in Parameter
-> Distance
保存自定义滑离/衰减曲线 Prefabs Prefabs & XML Support Create Custom Attenuation Prefab -> Add to Audio Master
-> Group Mixer -> Apply Audio Source Templates
Audio Component -> Attenuation Setting -> Create New Attenuation Class Positioning -> 3D ->
Attenuation -> Edit -> Save Pre-set
复制并粘贴曲线
三维声音在游戏引擎中的可视化 Audio Source -> 3D settings -> Max Distance
(casts a sphere in editor on change)
Unity's Audio Visualization Unity's Audio Visualization SoundCue -> Debug |
In Game ->
(command stat sounds -Debug)
1. Using Unreal's Audio Visualization
2. Wwise's API Show Attenuation Sphere
1. Using Unreal's Audio Visualization
2. Unity Code Yourself (Draw sphere)
3. In Audio Engine Visualization -> Profiler -> 3D View
由距离驱动的参数 扩散、混响
(自己敲代码的话—任意参数)
Window -> Fabric -> Run Time Parameters
-> Parameter -> Distance
扩散、混响
(自己敲代码的话—任意参数)
Continuous Modulator Node
(pitch only)
New Game Parameter
-> Bind to Build-In Parameter -> Distance
Add Parameter
Add Built-in Parameter -> Distance
音乐 动态音乐
(独立的乐器混音)
自己敲代码实现
(很难保持同步)
Music Component
-> Multiple Components Sync to Master Tempo
Multiple Playlist Scripts -> Sync Clips 能在 Blueprints 中完成,
或通过 SoundMix Changes 实现
Music Segment
-> Multiple Music Tracks
New Parameter
-> Multiple Logic Tracks
动态音乐
(基于强度等级)
1.多个音量不同的声音
只保留其中一个的完全音量,其他全部静音
2.Interpolate Between
Mixer Screen-shots
Timeline Components
Controlled by Parameters/EventActions
Multiple Playlist Scripts -> Sync Clips
Code Parameter Yourself
调节音量参数或是 SoundMix Change Music
Switch Container
参数控制的循环区域
音乐前奏与尾奏 (据我所知)不存在 Intro Loop Outro, Sequence
Timeline and Music Components
在 PlaylistController 中编排
-> 不要勾选 Shuffle 模式
增加三个文件:前奏、循环、尾奏
可以在 Blueprints 中实现 进入音乐索引(cue)
退出音乐索引
在事件的逻辑时间线上编排
节奏转变 利用 GetSpectrumData 函数
自己编程实现
Music Component Transition -> Transitions -> Sync On (据我所知)不存在 Can Be Done in Blueprints Transitions -> Source -> Exit Source At Logic Tracks -> Transition -> Quantizable Intervals
进入有概率发生的循环 自己敲代码实现 Event Trigger -> Probability (据我所知)不存在 可以在 Blueprints 中实现 - Random Node Music Sequence -> Weight Play Percentage
编辑过渡 (据我所知)不存在 Music Component -> Transitions Master Audio -> Fades
& PlaylistController -> Song Changed Event
(据我所知)不存在 特定过渡 / 淡入淡出 / 转场 在事件的 Transition 时间轴进行编排
(双击以进行自定义)
混音 旁链/闪避 Mixer -> Add Duck Volume Effect -> Send to Duck Vol Effect ADD Component -> Sidechain 1. 分配给总线(Bus) ->
使用 Unity 5 的混音器(Audio Mixer)
2. Master Audio -> Music Ducking
Sound Class -> Passive Sound Mix 新增效果 -> Wwise Meter -> Assign Parameter to Volume 新增效果 -> FMOD Compressor -> 打开 Sidechain 开关
右键->插入旁链
混音快照 Window -> Mixer -> Snapshots Unity5 的混音快照功能
(见左边那格)
Unity5 的混音快照功能
(见左左边那格)
Save SoundClasses Layout -> Mixer -> Save and Load Mixing Sessions Window -> Mixer -> Snapshots tabs
实时混音 Window -> Mixer -> Edit in play mode Play mode Persistence in Editor, OSC Server/Listener Components Master Audio -> Show Advanced -> Save Runtime Changes 正在研究…… Remote... -> Connect File -> Connect to Game
系统 音频调试信息 Debug.Log(); Window -> Fabric -> (EventLog / EventMonitor)
Or Debug.Log();
Master Audio -> Advanced Settings -> Log Sounds / Log Custom Events Blueprint Debugger / stat sounds -debug F6 -> Profiler Window -> Profiler
可编辑的分析器回放 2 (据我所知)不存在 (据我所知)不存在 (据我所知)不存在 (据我所知)不存在 (据我所知)不存在 Instant Replay
Profiler -> Toggle API button
参数 audio. Parameters MasterAudio. Blueprint Nodes RTPC (Real Time Parameter Controller) Parameters
设计方法 C#/JavaScript Event Based System
(逻辑由 Unity 的 Hierachy 实现)
Unity Event-Based
或 C#/JavaScript
C++ / Blueprints Event Based System ( Most Logic is Written in Code) 可见的逻辑轨道
(大部分逻辑都以可视化操作实现)
是否支持网页构建 支持的 支持的 支持的 (据我所知)不支持 并不支持
(使用 System.IO)
并不支持
(使用 System.IO)
导入 Mp3 格式 支持的 支持的 支持的 只支持 iOS (据我所知)不支持 支持的
导入 Ogg 格式(Vorbis) 支持的 支持的 支持的 只支持 iOS (据我所知)不支持 支持的
引擎内转换压缩格式
(Vorbis / PCM / ADPCM)
声音对象的 Inspector -> Override -> Compression Format 声音对象的 Inspector -> Override -> Compression Format 声音对象的 Inspector -> Override -> Compression Format (据我所知)不存在 选中的音频 -> Source Settings -> Conversion Setting Bank 标签页 - > 选择 Bank -> 选择平台
音频流 声音对象的 Inspector -> Override -> Load Type 声音对象的 Inspector -> Override -> Load Type 声音对象的 Inspector -> Override -> Load Type 自己敲代码实现 选中的音频 -> General Settings -> Check-box Stream 勾选框 Bank 标签页 - > 选择事件 -> 在音频轨道上点击 Steam 的按钮

这个对照表基于个人经验和社区学习的数据整理而成。
若你有相关的反馈、贡献和评论,非常欢迎!
您可以发送邮件至 Twitter 上联系我:@Dani_Kogan

特别感谢:

向下列贡献者报以十分的感谢,他(她)们为此表增加信息、帮助修复问题并且指出了表中的矛盾之处。

@darktonicgames
@bpaterson2000
@Tazman_Audio
@ShriekStudios
@GameAudioInst
@AnastasiaDevana
@MattRyanSound
@AKMikeD
@redbluemonkey
@JayMFernandes
@SimonDSchmidt
@DePanther

(中文版由Moy翻译,欢迎联系新浪微博@Moy_F 交流探讨)




  • 注释一:滑离 

    英文原词Rolloff,并没有找到特别合适的中文单词,“滑离”这种译法参考自《FMOD 游戏音频快速上手》
    在此处的用法,可以理解为音量随距离产生相应变化的衰减曲线这么个意思吧。


  • 注释二:瞬时分析器回放 

    这是 FMOD Studio 1.06 支持的新特性,点击表格中的链接可以看到演示,想要详细的介绍可以戳:Introduction to the Profiler - Instant Replay(需翻墙)
    简单地说,它支持实时连接游戏,并将游戏过程的声音状态(及参数)全部录下来,随后对录制的数据进行更改和调试。




  • 译者说明:

    表格内的英文大部分维持不动,一方面因为相关的软件通常都是英文版,使用英文进行检索会更方便快捷;另一方面一些单词在软件中的意思也是特有的(例如 Unity 中的 Prefab),翻译之后反而词不达意。

    做这个活儿其实有点吃力不讨好,行业内的前辈基本都知道意思,而纯新手的话这里一两句话也说不清楚。
    所以主要目的,是让它可以作为一个学习的入门指南
    我刚开始做翻译的时候,表格里的一些功能就很难理解,比如 Rolloff,在音频软件外的用法完全不同,相关资料也比较少,前两天接触了 FMOD 才明白意思。这里也希望这份译本对你有所帮助,至少有能学习入手的途径。
    如果有翻译不到位之处,还请谅解。原文版本在页面右上角,供对照参考。

    9月18日更新: 根据 Wwise 官方微博的提示,「Wwise是支持以Vorbis压缩而输出最终音频数据的,只是导入格式需要是WAV」,修正了表格末尾两处翻译,改为「是否支持导入ogg/mp3」。

    2015年9月18日
    Moy