互动音乐是具有多种功能的复杂工具,工程伊始就为其制定一致的策略可节省后期的时间和精力。当然,处理互动音乐工程的方法很多,您可以在 Wwise 中使用任何方法来为游戏创造最佳的结果。以下是有关如何实现互动音乐的建议。
纵向结构的基础是少量重复和变化的 Music Segment(音乐段落),每个段落含有多条 Music Track(音乐轨)。基本的纵向结构可能如下图所示:
此例中的互动音乐基于一条四轨的 Music Segment。上半部分中,段落正在播放,但没有指定状态。贝斯和鼓的片段位于 Normal(正常)音轨中,每次重复时会播放相同的片段。而吉它则使用序列步进 Sequence Step(序列步进)音轨,其中的片段将按照指定的序列播放。钢琴则是 Random Step(随机步进)音轨,其中的片段将随机播放。对于 Sequence Step 和 Random Step 音轨,制造多样性的关键在于创建 Sub-track(子音轨),让其中的片段替代原始音轨中的片段。
下半部分中,音轨开始响应状态切换。当游戏处于相对平静的探索状态时,鼓是听不到的,只会播放钢琴音轨(由多个子音轨构成)。一旦过渡到激烈的格斗状态,钢琴轨的音量将被拉到底,而鼓的音量将增大,吉它音量也会增大。总体效果是音乐将随着游戏情节而改变。
在纵向结构中,可以使用以下方式来改变将被播放的音轨:
State 变换
Random step 子音轨
Sequence step 子音轨。
如果工程只有少量复杂音乐片段,并且状态切换频率较低,就非常适合纵向法。
横向工程结构的基础是多个简短段落的层级编排。基本的横向工程结构可能如下图所示:
此例中,两个 Music Playlist Container(音乐播放列表容器)中包含对应于两种游戏状态的 Music Segment:Exploration(探索)和 Fight(格斗)。第一个容器中,段落随机组合排列,因此将随机播放。第二个容器中,段落按序列组合排列,因此将按预定序列播放。游戏从 Exploration 状态过渡到 Fight 状态时,Exploration 容器中播放的最后一个段落将过渡到 Fight 容器中的第一个段落。得到的效果是从一种音乐整体切换到了另一种音乐。
横向工程结构中,可以使用以下方式改变将要播放的段落:
State 变换
Random Container(随机容器)
Sequence Container(序列容器)
如果工程包含大量简短而相对简单的音乐片段,特别是还会频繁切换状态的话,建议使用横向法。