[跳坑宝典系列]Unity WWise一般3D音效定位问题排查

发表于2017-09-04
评论0 3.5k浏览

[跳坑宝典系列]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,并把使用的ListenerID指定为0(即指定最后一个参数为0

如果在玩家不动的时候,声音依然是忽大忽小,请按照下面顺序检查代码:

1> 请参照上面办法检查将Listener修改为1个,

2> 请检查调用AkSoundEngine.SetListenerPosition传入的坐标是否一直在跳动

3> 请和SoundDesigner确认是否故意如此。

如果还没搞定,请联系Johnxu@tencent.com

2. 未完待续

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: