menu
版本
2021.1.14.8108
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
Wwise Unity Integration Documentation
|
使用 Wwise 支持 DLC 的默认方法是使用文件包。 Authoring 文档中对该方法有部分解释:Wwise Help > 完善工程 > 管理 File Package > 可下载内容(DLC)概述。简单来说,这些包可以包含替换的 BNK 和 WEM 或者附加文件,它们可以随意加载和卸载来启用或禁用 DLC。这个包的格式是可选的,但是它现在内置在 Wwise / Unity 插件中。如果您想编写自己的包格式,则需要编写新的 Low-Level IO 来替换默认的。
要在 Unity 中使用包,您只需将它们放置在 Base Path 中,即您 bank 的所在路径,该路径是在 AkInitializer 的属性中定义的。然后调用 AkSoundEngine.LoadFilePackage()。Wwise
将始终尝试先通过文件包加载文件,加载的顺序是以相反的顺序(最后添加的是第一个搜索到的)。
该方法将适用于在游戏发布之后,所有支持向磁盘写入 Base Path 的平台。遗憾的是,iOS 和 Android 不满足这个条件。
在 Android 和 iOS 上,由于所有数据都被打包到一个只读文件系统,所以需要将您的文件包放在另一个不同的目录中。这是通过在 AkSoundEngine.LoadFilePackage() 之前调用 AkSoundEngine.AddBasePath()
来完成的。您可以添加多条路径,最后添加的将首先搜索。请查看恰当的操作系统文档,以找出有哪些限制。下面的代码是一则例程,用于选择可存储您文件的路径:
注意,在 Android 上还有其它一些可写的路径,比如 SD 卡或类似的存储设备。
Unity Addressables 系统可用于打包和分发 SoundBank 及流播放媒体文件。 有关详细信息,请参阅 在 Unity 中使用 Wwise Addressables Package 页面。
除此之外,还可利用 Unity 中的 UnityWebRequest 类来直接获取并加载 DLC 音频文件。 这是通过在内存中加载 bank 来完成的,就像在 AkMemBankLoader.cs 中演示的那样。 对于旧版 Unity,AkMemBankLoader 还可通过 WWW 类(现已弃用)加载 SoundBank。 若要将现有 SoundBank 替换为新的 SoundBank,必须先卸载之前的 SoundBank;否则 Wwise IO 系统无法理解相应代码,导致没法确定您是错误地重新加载了同一 SoundBank 还是想要替换它。