版本

menu_open

Dead game object ID used in function ... This object was unregistered with AK::SoundEngine::UnregisterGameObj some time prior this call.

对于需要 Game Object ID(游戏对象 ID)的 API 函数,如果使用无法识别的 ID 来调用,将出现此错误。提供了函数的名称,以便查找游戏代码。Game Object 曾经活跃,其原有名称显示在 Game Object 列中。Game Object 的生存期从 AK::SoundEngine::RegisterGameObj 开始到 AK::SoundEngine::UnregisterGameObj 结束。若在这些调用之后执行函数调用,则将发生此错误。

请注意,以下调用序列是合法的:
AK::SoundEngine::RegisterGameObj(MyGameObjID);
AK::SoundEngine::PostEvent("Play_MySound", MyGameObjID);
AK::SoundEngine::UnregisterGameObj(MyGameObjID);

[备注]Unity 用户

Wwise Game Object 的生存期与 AkGameObj 组件的生存期一致。

可能的原因:

  • 在函数调用前已注销 Game Object。

  • Unity 用户:Script Execution Order(脚本执行顺序)可能有误,导致出现以上情况之一。

推荐的解决步骤:

  • 打开 Profiler Settings(性能分析器设置),并启用 API Calls(API 调用)。然后,重现场景。在 Capture Log(捕获日志)中,该错误之前应显示出现问题的调用及所有参数。

  • 在 Game Object 3D Viewer(游戏对象 3D 查看器)中,确认 Game Object 的生存期。记下时间戳以便与 Capture Log 进行比对。

  • 更改函数调用的顺序,使其介于相关的 RegisterGameObjUnregisterGameObj 之间。

  • Unity 用户:查看 Unity 中的 Script Execution Order(脚本执行顺序)。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅