このエラーが発生するのは、Game Object IDを必要とするAPIファンクションをコールしたときに、不明IDがあるときです。関数の名前がゲームコードで参照できるように提供されます。このゲームオブジェクトが以前に出てきたことがあれば、"Dead Game Object"と書かれ、そのオブジェクトの旧名が"Game Object"列に表示されます。ゲームオブジェクトのライフタイムは、AK::SoundEngine::RegisterGameObjから、AK::SoundEngine::UnregisterGameObjまでです。これらのコールの前、または後に、このファンクションコールが出された場合、このエラーが起きます。
なお、コールシーケンスとして、例えば:
AK::SoundEngine::RegisterGameObj(MyGameObjID);
AK::SoundEngine::PostEvent("Play_MySound", MyGameObjID);
AK::SoundEngine::UnregisterGameObj(MyGameObjID); というようなコールシーケンスは、反則でありません。
![]() | 注釈 |
|---|---|
If you are using the Unity game engine, the lifetime of a Wwise Game Object follows the lifetime of the |
考えられる原因:
このゲームオブジェクトが、ファンクションコール前に登録されたことがありません。
関数コール前にゲームオブジェクトの登録が解除されました。
Game Object IDが破損しています。
Unityユーザーへ: "Script Execution Order"が正しくないと、上記の現象が起きる可能性があります。
推奨される解決策:
Profiler Settings で API Calls を有効にします。次に、あなたのシナリオを再現します。Capture Logでは、問題となっているコールとすべてのパラメータがエラー直前に表示されるはずです。
Game Object 3D ViewerでGame Objectのライフタイムを確認します。
ファンクションコールの順番を変えて、関連する RegisterGameObj と UnregisterGameObj の間に入れます。
Unityユーザーへ: Unityの"Script Execution Order"を確認してください。