UE4-Wwise-切场景不打断BGM播放
切换场景时,原始level中的actor会被销毁,依存于actor的akcomponent也会被销毁掉,进而导致ak组件上正在播放声音被停止掉
解决方法:
- 为BGM播放添加专门的Emitter和Listener
- 进行seamless travel,同时将1中Emiiter和Listen所属的actor添加至SeamlessTravelActorList中
这里还有一个坑,即使实施了上述措施,在进行场景切换时,BGM还是会被停止掉,从Wwise profiling可以看到stop的原因是游戏中调用了StopAll命令。然后从Akcomponent的代码中可以找到
切场景时,能断点到这里,至于调用栈,可以自行断点去查看。
解决思路就是为这emiiter添加一个标志量,防止OnUnregister被调用时,调用Stop()