Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

0 votes
现在unity中wwise都是写死了使用StreamingAssets的路径,现在要做热更新,有几个问题想请教一下

1。如何让wwise从我的缓存路径中读取资源

2。wwise的资源,如果要热更新,是不是需要热更新所有的资产,或者说哪些是必须要热更新的

3。bank的加载,可以从不同的路径加载吗?比如我先看看在缓存中有没有这个bank,有的话加载缓存中的bank,没有的话加载StreamAssets下的bank

另外,wwise里面的相关路径修改起来真是苦恼,很多地方都是写死的,可是具体的项目都是需要灵活配置,资源集中管理的,如果能把这些路径抽象出来就好了
in Feature Requests by LLAI X. (100 points)
我也存在这个问题,测试AddBasePath在windows的Unity编辑器上不起效,不知道你解决没?能分享下不?
热更可以考虑使用wwise提供的package打包机制,我试验过,不过我也不喜欢package大包的更新方式,感觉不好维护,尤其是对于制作资源的人,得约定一套严格的增量打包方案。
我尝试了另外一种方法,就是把soundbank修改后缀为bytes,打包成bundle,然后加载bundle只有,从内存中加载soundbank,需要改写Init.bnk加载的一些代码,那些代码本来就生成在handwitten目录下,应该就是让客户来定制的。目前还没有解决流播放的wem文件的加载问题,我没有找到在Unity环境下LowLevelIO的重写方式,或许没法在C#的环境下重写?
安卓和IOS中wwise热更新:


1.用 Wwise 和 Unity 制作 DLC,就是pck包。


2.然后调用 AkSoundEngine.LoadFilePackage()加载pck包,Wwise 将始终尝试先通过文件包加载文件,加载的顺序是以相反的顺序(最后添加的是第一个搜索到的)。注意,AddBasePath不是全平台都有效。在PC下是无效的,所以不能在PC平台测试。


3.一定要先设置SetBasePath,再设置AddBasePath。


4.添加AkSoundEngine.SetBasePath(basePathToSet)SetBasePath设置基础目录。包体里面StreamingAssets\GeneratedSoundBanks\Android\


string fullBasePath = UnityEngine.Application.persistentDataPath+"/Audio/GeneratedSoundBanks/" + AkBasePathGetter.GetPlatformName();
5.添加持久化目录AkSoundEngine.AddBasePath(fullBasePath);

如果有问题联系QQ:115452661

1 Answer

0 votes
AddBasePath can do that.
by JunQiang Z. (190 points)
...