[跳坑宝典系列]Unity WWise一般3D音效定位问题排查
[跳坑宝典系列]Unity WWise一般3D音效定位问题排查
3D音效相对在游戏中使用的比较频繁,也是一种可以将程序和SoundDesigner们解耦和的一种方式。在使用过程中,有时候大家会遇到一些比较头疼的3D定位问题,这里提供一些比较常见的问题的排查办法。
3D音效基本原理参见这篇文章:
1. 3D声音忽大忽小
如果遇到这种问题,首先确认一下,在玩家不动的情况下,声音是否会忽大忽小。如果玩家不动的情况下,声音不会忽大忽小,同时,玩家移动中,才会互大忽小,那么请继续往下看(否则比较麻烦,后续说):
首先看看Unity里面,是否有多个AkAudioListener
【注意】:对于有些项目,可能会自己封装一下,挂到别的组件上(有些场景的listener可能是从某一个Prefab动态生成的,这个在可选角色的游戏里面还是比较常见的),甚至是动态挂载的组件,这个就需要进入游戏里面搜索一下了(方法是在游戏代码中,搜索AkSoundEngine.SetListenerPosition,对应的组件即为设定Listener的组件)
如果游戏中有多个AudioListener,那么,请确认
1> 调用AkSoundEngine.SetListenerPosition传入的最后一个参数,是否相同,相同即为BUG
2> 是否故意如此,这种多个listener的情况十有八九,都是BUG
对于情况1,请删除不需要的Listener
对于情况2,请删除不用的Listener,并把使用的Listener的ID指定为0(即指定最后一个参数为0)
如果在玩家不动的时候,声音依然是忽大忽小,请按照下面顺序检查代码:
1> 请参照上面办法检查将Listener修改为1个,
2> 请检查调用AkSoundEngine.SetListenerPosition传入的坐标是否一直在跳动
3> 请和SoundDesigner确认是否故意如此。
如果还没搞定,请联系Johnxu@tencent.com
2. 未完待续