目录
游戏玩法的某些方面给我们提供了改变音乐主题的机会。例如,团队的胜利与失败两种状态,为音乐提供了一个很好的机会来强调相应的情绪。但是,这些状态需要传达给音乐系统,而音乐系统又需要知道如何提示正确的音乐,同时平滑地从当前正在播放的音乐中过渡出去。
团队的胜利或失败的状态一般由游戏引擎中某种类型的系统来管理,然后以游戏调用的形式传送给 Wwise。
通常,这是通过游戏状态和切换开关的机制来完成的。可以使用这个游戏调用在 Wwise 中设置 State Group(状态组)和 Switch Group(切换开关组)。继而,Switch Group 或 State Group 的状态可以与 Interactive Music Hierarchy(互动音乐层级结构)中的一个专门的对象一起使用,该对象叫作 Music Switch Container(音乐切换容器)。可以配置 Music Switch Container 来做到在不同 Music Playlist Container 之间或不同 Music Segment 之间以音乐性上恰当的方式进行过渡。
接下来,我们将采用这一方法来调节音乐在各种情形下的播放方式。比如,在玩家处于标准玩法模式、与大 BOSS 激战、取得胜利或不幸落败的时候。你还将利用这一课为第 7 课布置舞台,在那里,你将更深入地了解 Wwise 强大的过渡系统。为了让你能用更多的曲子来练习,本课中要使用的 Wwise 工程里除了包含目前为止你完成的所有成果以外,还加入了别的一些预先做好的音乐提示,在下一课中你也会用到这些额外的音乐。
-
打开第 6 课的工程。
该工程包含了本教程前面章节中创建的所有 Music Playlist Container 以及一些新的 Music Playlist Container(Defeated、Victory 和 Story)。你将会在本课和第 7 课中使用到它们,所以现在就来熟悉一下吧。
-
选择并播放各个新的 Music Segment,然后听听它们的内容。
在打败大 BOSS 并完成地图时,Victory 音乐会略示庆祝。Defeated 音乐是一小段阴郁的安魂曲(希望你不会经常听到)。Story 音乐是一条音乐上的幽径,玩家会在一个特殊的游戏玩法场景中遇到。在下一课中,你将会仔细地处理实现这些音乐中的各种问题,而在这一课中,你将为后面的学习打下基础。
在本课中,你的总体目标是听一听在常规游戏玩法中贯穿始终的 Combat 音乐,然后切换到 Boss 音乐,它会在你到达最后一个房间时响起,房间里有 boss 怪驻守,而最后 Victory 音乐会在你结束这一关卡离开地图时为你庆祝胜利。倘若出于种种原因最终没能完成任务,将会播放 Defeated 音乐来表达痛惜之情。
为了管理 Music Playlist 之间的过渡,Wwise 使用一个名为 Music Playlist Container 对象来专门处理此种类型的过渡。如果你想要在若干 Music Playlist Container 之间切换,那么要将所有的 Music Playlist Container 配置为父级 Music Switch Container 的子级。
-
选择所有 Music Playlist Container 之后,在所选范围内右击,然后选择 New Parent > Music Switch Container。
你创建的音乐是专门为《Cube》中的 Wwise-201 游戏关卡设计的,因此最好在对象名称中指明这一点。
-
将新的 Music Switch Container 命名为 Wwise 201 Music。
Music Switch Container 的 Time Setting 包括 Tempo(速度)和 Time Signature(拍号),这些 Time Setting 将会覆盖 Music Playlist Container 的相应设置,因为 Music Switch Container 为 Music Playlist Container 的父级。这将导致 Music Playlist Container 之间的过渡出现严重问题,因为所有的 Entry Cue(入口提示点)和 Exit Cue(出口提示点)将不再与音乐相匹配。出于这个原因,对于包含在 Music Switch Container 中的所有 Music Playlist Container,你需要将它们的 Time Setting 设置为不沿用父级。
-
展开 Wwise 201 Music 对象,选择 Boss Music Playlist Container,在 General 选项卡中,对 Time Settings(时间设置),点击 Override(不沿用)按钮。
-
对所有余下的 Music Playlist Container 重复同样的步骤,然后折叠 Wwise 201 Music Music Switch Container。
在之前的课程中,你曾将 Music Event (事件)附加到某个 Music Playlist Container 上,以便在游戏玩法中测试该 Music Playlist Container。现在,你要将同样的 Music Event 附加到刚刚创建的 Wwise 201 Music Music Switch Container 上,该 Music Event 会根据游戏中各种不同的环境来决定该播放哪个 Music Segment。
-
在 Project Explorer(工程浏览器)中,点击 Events 选项卡,展开 Music Work Unit(工作单元),然后选择 Music Event。
你可以看到,Combat 音乐目前在该事件中被设定为播放,在上一课中就已经这样设好了。我们需要将其替换为 Wwise 201 Music Music Switch Container。
-
单击 Audio 选项卡,然后将 Music Switch Container 对象 Wwise 201 Music 拖至 Event Editor 中 Actions 列表下的现有 Combat 对象上。
现在,Wwise 201 Music Music Switch Container 就会在 Wwise 接收到 Music Event 时开始播放了。
尽管你已经在 Music Event 和 Wwise 201 Music 对象之间建立了联系,但即使在接收到 Music Event 之后,你也不会听到任何声音。
-
选择 Music Event。
你会发现 Transport Control(播放控制)中的 Play 按钮现在不可用。这是因为目前尚未配置 Wwise 201 Music Music Switch Container,所以其并不知道要播放哪些 Music Segment。你将在接下来的练习中配置 Wwise 201 Music Music Switch Container。
当在本课余下的时间里测试工作成果时,你将会多次播放 Music Event,所以要使用 Transport 的 Pin(锁定)功能来确保在你继续工作的时候,Transport Control 仍然聚焦于 Music Event。
-
将 Music Event 锁定到 Transport Control。返回 Interactive Music 布局。