“[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 的生存期与 |
可能的原因:
在函数调用前从未注册 Game Object。
在函数调用前已注销 Game Object。
Game Object ID 损坏。
Unity 用户:Script Execution Order(脚本执行顺序)可能有误,导致出现以上情况之一。
推荐的解决步骤:
在 Profiler Settings(性能分析器设置)中启用 API Calls(API 调用)。然后,重现场景。在 Capture Log(捕获日志)中,该错误之前应显示出现问题的调用及所有参数。
在 Game Object Explorer(游戏对象资源管理器)视图中,确认 Game Object 的生存期。
更改函数调用顺序,使其介于相关的 RegisterGameObj
和 UnregisterGameObj
之间。
Unity 用户:查看 Unity 中的 Script Execution Order(脚本执行顺序)。