社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

+2 投票

[Relating to WWISE in Unity]

Let's say you want to trigger a sound effect when a Unity gameobject is destroyed (e.g. item explodes or is collected).

As I understand it when you call AkSoundEngine.PostEvent, "At runtime, an AkGameObj component is automatically added to this GameObject", but if I Destroy the Unity GameObject after posting the event, I get the error:

Wwise: Unknown game object ID. Make sure the game object is registered before using it and do not use it once it was unregistered.(Object: [myobjectname] (UnityEngine.GameObject))

 

Seems like a very common scenario - is there a recommended way to handle this case?

 

分类:General Discussion | 用户: Chris (690 分)
I've tried a couple workarounds for this too,  these also seemed to give a console warning:

--- #1 - Create a new object just to play the sound whilst deleting the originating object ---
I created a new component for these OneShot sounds: I then play a sound via that component (and delete the originating game object) - I did this via a PostEvent with a callback that was called when the Event ended. In that callback, I delete the OneShot object.

--- #2 - Unregister before deleting the object ---
I post the event and then immediately unregister the game object with the sound engine.
Quick update: I hear that this is resolved in the very soon to be released WWISE 2014.1.6 and 2015.1

1个回答

0 投票
 
已采纳
For me, this appears to be fixed in the recently released WWISE 2015.1 - seem to be able to Destroy() objects without generating any warnings
用户: Chris (690 分)
...