绿色:具备特性 |
黄色:存在变通的办法 |
红色:(据我所知)不存在 |
注:将鼠标悬浮在第二列的特性名上可看到相关介绍
引擎 |
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 的按钮 |
向下列贡献者报以十分的感谢,他(她)们为此表增加信息、帮助修复问题并且指出了表中的矛盾之处。
@darktonicgames
@bpaterson2000
@Tazman_Audio
@ShriekStudios
@GameAudioInst
@AnastasiaDevana
@MattRyanSound
@AKMikeD
@redbluemonkey
@JayMFernandes
@SimonDSchmidt
@DePanther
注释一:滑离 ↩
英文原词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