版本

menu_open

Unknown/Dead game object ID used in <FunctionName>. Make sure the game object is registered before using it and do not use it once it was unregistered.

“<FunctionName> 中使用了未知/非活动游戏对象 ID。确保在使用前注册游戏对象,一旦注销了就不要再使用它。”对于需要 Game Object ID(游戏对象 ID)的 API 函数,如果使用无法识别的 ID 来调用,将出现此错误。提供了函数的名称,以便查找游戏代码。若某 Game Object 曾经活跃,则将其标记为 Dead 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。

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

  • Game Object ID 损坏。

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

推荐的解决步骤:

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

  • 在 Game Object 3D Viewer(游戏对象 3D 查看器)视图中,确认 Game Object 的生存期。

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

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


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅