找回密码
 立即注册
查看: 563|回复: 0

【音频篇】Unity中使用wwise的常见问题及解决方案

[复制链接]
发表于 2021-1-2 11:16 | 显示全部楼层 |阅读模式
”音频篇“系列文章记录了我在平时工作中遇到的音频相关的问题。
Wwise,是一种音频中间件。关于音频中间件的可以看这篇文章:什么是音频中间件?。本文内容不是介绍wwise,也不是教大家怎么用它,因为这些东西,上网搜都能搜到。本文内容是水鸡我在游戏中使用wwise时遇到的问题以及解决方案。所以如果没有用过wwise的,这篇文章可以先收藏以后再看。
没有声音

1. 报错信息:Wwise: Event ID not found: xxxxxx

xxxxxx是一段数字,出现这个报错,说明在bank还没有被加载,就调用了PostEvent播放声音,自然声音是播不出来的。
2. 报错信息:Wwise Bank Load Failed

这个原因是因为没有找到bank,所以加载失败了。首先打开wwise,检查对应平台和对应语言下是否有生成banks。
然后打开wwiseLauncher,检查对应平台的选项是否有选上。注意Switch和PS4选项需要许可证,一般账户选不了。


3. 没有报错

3.1 配置不正确

首先需要检查WwsieEvent有没有被正确配置,图中是正确配置的情况,如果不正确会显示一行红字。
通常,当有人跟你反馈没有声音的时候,配置肯定是配了的。如果依然显示不正确,请找到unity菜单的windows/wwise picker,点击Refresh Project。点完了还是显示不正确,说明配置丢了,这是wwise和unity傻逼,目前无解,请找音频师或者策划重新配置。


3.2 配置正确

在确认配置正确的情况下依然没有声音,这个时候请尝试使用wwise的调试功能。打开wwise,点击Remote进行调试。


选择Profiler打开调试面板。
左侧是游戏里都播了哪些Event,在wwise里是哪个音频单元,在哪个GameObject上进行播放,播放的时间。为什么我称之为音频单元?因为wwise里面音频事件处理的并不一定是单一音频文件,它也可以是一组文件。右侧是声音经过了哪些混音处理。
如果在调试面板没有找到要播的声音,请检查是否代码里根本没有执行PostEvent。 如果在调试面板找到了要播的声音,但是没有听到声音,有以下几种原因:
    音量被设置为0 播放声音的位置离listener位置太远 硬件设备问题,比如手机是静音模式,电脑声卡坏了之类的。
如何切换不同语音

为了满足玩家需求,很多游戏都有日语、国语两种语音,提供给玩家切换。这里说一下切换语言的方法: - 调用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工程里的语言的名称对不上。
暂时先写这么多了,以后想到再更新。


既然都看到这里了,不如关注一下吧
关于作者:
    水曜日鸡,简称水鸡,ACG宅。曾参与索尼中国之星项目研发,具有2D联网多人动作游戏开发经验。
CSDN博客:https://blog.csdn.net/j756915370
知乎专栏:https://zhuanlan.zhihu.com/c_1241442143220363264
Q群:891809847

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-20 08:53 , Processed in 0.094221 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表