对于需要 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 的生存期与 |
可能的原因:
在函数调用前已注销 Game Object。
Unity 用户:Script Execution Order(脚本执行顺序)可能有误,导致出现以上情况之一。
推荐的解决步骤:
打开 Profiler Settings(性能分析器设置),并启用 API Calls(API 调用)。然后,重现场景。在 Capture Log(捕获日志)中,该错误之前应显示出现问题的调用及所有参数。
在 Game Object 3D Viewer(游戏对象 3D 查看器)中,确认 Game Object 的生存期。记下时间戳以便与 Capture Log 进行比对。
更改函数调用的顺序,使其介于相关的 RegisterGameObj
和 UnregisterGameObj
之间。
Unity 用户:查看 Unity 中的 Script Execution Order(脚本执行顺序)。