为了满足玩家需求,很多游戏都有日语、国语两种语音,提供给玩家切换。这里说一下切换语言的方法: - 调用AkBankManager.UnloadBank(bankName) 把相关bank全部卸载 - 调用AkSoundEngine.SetCurrentLanguage(newLangName) 切换语言 - 调用AkBankManager.LoadBank(bankName) 重新加载bank
注意切换语言后不能在当前帧立刻加载bank,否则无效。
wwise论坛上这篇文章说的是0.25秒。How do I change a sound-bank at run time ?
我没有进行实际测量,不过不在同一帧进行调用这个还是挺好避免的。我之前项目的切换语言功能是这样设计的:玩家只能在主菜单界面的场景进行切换语言,然后在玩家进入主菜单场景时进行卸载bank,当玩家离开主菜单场景时加载bank。
如果切换语言没有成功,请检查是不是SetCurrentLanguage 里传入的变量和wwise工程里的语言的名称对不上。
暂时先写这么多了,以后想到再更新。