このエラーはGame Object IDを必要とするAPI関数が、認識できないIDでコールされた時に発生します。関数の名前がゲームコードで参照できるように提供されます。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 |
考えられる原因:
関数コール前にゲームオブジェクトの登録が解除されました。
Unityユーザーへ: "Script Execution Order"が正しくないと、上記の現象が起きる可能性があります。
推奨される解決策:
Profiler Settings で API Calls を有効にします。次に、あなたのシナリオを再現します。Capture Logでは、問題となっているコールとすべてのパラメータがエラー直前に表示されるはずです。
Game Object 3D ViewerでGame Objectのライフタイムを確認します。Capture Logと比較するために、タイムスタンプをメモしておきます。
関数コールの順序、関連する RegisterGameObj
と UnregisterGameObj
の間にあるように変更します。
Unityユーザーへ: Unityの"Script Execution Order"を確認してください。