版本

menu_open

定义 Music Track 的播放行为

工程内的每条音乐轨都包含一组特定行为。这些行为决定了音乐轨及其子音乐轨的播放方式,还决定音轨中的音乐是存储在内存中,还是直接从媒体或硬盘中进行流播放。

您可为音乐轨定义以下行为:

流播放音乐

您可以决定从内存播放哪些音乐,以及从 DVD、CD 或硬盘流播放哪些音乐。当从磁盘或硬盘流播放音乐时,还可以结合使用以下选项,来避免出现播放延迟和同步问题。

  • Look-ahead time -- 预读时间。保留特定时间量,使声音引擎能够查找流播放数据。此时间确定该轨的延迟。

  • Prefetch -- 预取。创建较小的音频缓冲区来预先播放音频文件的开头,同时读取文件的剩余部分,以补偿直接缓冲播放整个文件会造成的延迟。

您可以指定预读时间量和预取量的大小,以满足不同媒体源(如硬盘、CD 和 DVD)的要求。预取过小将导致延迟,过大则会占用过多内存。预读时间过短会导致段落内的音乐轨不同步,预读时间过长则会导致整体播放延迟。您需要对预读大小和预读时间进行试验,以在音乐片段的整体延迟和同步之间找到平衡。

您可以结合使用预读时间和预取设置来降低在游戏中流播放音乐时出现不同步和声部匮乏的几率。例如,当一段音乐的同步点不在段落的开始处,或者没有使用段落的 Pre-entry (前导段)部分,那么加载至内存中的预取数据就无法使用,因此 Wwise 将使用预读时间。

[备注]备注

在 Wwise 设计工具内部播放声音时,总是使用流播放,无论是否选择了流播放选项。因此,游戏中不会进行流播放的音乐对象在 Wwise 中预览时仍将使用流播放。为了避免在 Wwise 中播放这些音乐对象时出现音乐轨不同步和声部匮乏,最好定义内部播放预读时间。 有关设置内部播放预读时间的详细信息,请参阅 “Setting the Music Track look-ahead time”一节

流播放音乐轨的方法如下:

  1. 双击音乐轨,将其加载至属性编辑器中。

  2. 选择 Stream 选项。

    流播放设置将变为可用。

  3. 在预读时间文本框内,输入要预留的毫秒数,来允许声音引擎查找流播放数据。该时间定义了音轨的延迟量,因此如果您将其设置为 100 毫秒,则会在按下 Play 按钮 100 毫秒后才听到音乐。

    [备注]备注

    如果段落中包含多个具有不同预读时间的音轨,则 Wwise 寻找数据时将使用这些音轨中的最长预读时间。

  4. 要实现从触发音乐到实际播放之间没有延迟,可以选择 Zero Latency 选项。

  5. 要达到零延迟,必须将声音开头的特定部分存储在内存中,同时不断读取文件的剩余部分,以补偿直接缓冲播放整个文件会造成的延迟。在 Prefetch length 文本框中,输入要存储在内存中的音乐的毫秒数。

    [备注]备注

    预取设置是基于各条音轨的,因此如果音轨中包含多个音乐源,则各个音乐源的开头部分都将加载至内存中。

定义音轨播放类型

要为游戏中的音乐增加变化,您可以为段落内的各条音轨定义播放类型。您可使用 normal (常规)音轨,即每次调用段落时只播放同一音轨,也可创建 random (随机)或 sequence (序列)音轨。Random Step (随机步进)和 Sequence Step (序列步进)音轨可包含无限数量的子音轨,用来在每次播放该音轨时播放不同的音乐。

下图显示了三种音轨类型之间播放行为的差别。

结合使用这三类音轨,可以让游戏每次调用段落时都感觉像是在播放全新的音乐。例如,可以创建包含四个随机步进音轨的音乐段落,各条音轨包含四个子音轨。当游戏调用该音乐段落时,这段音乐就可以拥有 256 种不同的变化。

定义音轨播放类型的方法如下:

  1. 双击音乐轨,将其加载至属性编辑器中。

  2. Track Type 分组中,根据需要选择以下选项:

    • Normal,每次播放父段落时即播放当前音轨。处于 Normal 模式时,无法添加子声轨。

    • Random Step ,每次播放父段落时,随机播放其中一个子音轨。

    • Sequence Step ,每次播放父段落时,按顺序播放其中一个子音轨。

    Switch ,选择与切换开关相对应的子音轨进行播放。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅