バージョン
ゲームオブジェクトは、インターフェース、サウンド、トリガーなどの要素をアタッチすることのできるエンティティです。
ゲームオブジェクトは、AkGameObjectID(符号なし32ビットフィールド)として定義できます。0x00000000、0x00000001 または 0xFFFFFFFF(内部的に予約されている3つの値)に等しくない任意のIDを選択することができます。 従って、0x00000002 から開始し、インクリメントすることでゲームオブジェクトを生成するか、実際のポインタの実際のゲームオブジェクトへの変換を使用することができます。
サウンドエンジンでトリガーされる各イベントは、ゲームオブジェクトに関連付けられています。イベントアクションが特定のゲームオブジェクトをターゲットとする場合、これらはすべて、 AK::SoundEngine::PostEvent() 関数のパラメータとして渡されるゲームオブジェクトに関連付けられます。イベントアクションがゲームオブジェクトをターゲットとしない場合、これらは指定されたゲームオブジェクトを無視します。アクションが単一のゲームオブジェクトに影響を与える必要がある場合に、AKSoundEngine::PostEvent() で指定されるゲームオブジェクトが有効でないと、アクションは実行されません。
各ゲームオブジェクトごとに関連付けられた3Dポジション、各スイッチグループごとにスイッチ、各 RTPC ごとに RTPC 値、特定のゲームオブジェクトごとに特定のアイテム(サウンド、アクターミキサー、バスなど)に設定された複数の値(例えばボリュームなど)がある可能性があります。サウンドエンジンは、これらの値に関連付けられているゲームオブジェクトが登録解除されるまでこの情報を格納します。
ゲームオブジェクトを使用する前に、これらを登録する必要があります。ゲームオブジェクトが不要になった場合は、これらの登録を解除しなければなりません。ゲームオブジェクトの登録を解除しなくてもエラーは発生しませんが、(3Dポジション、RTPC、スイッチなどの)情報を格納することによりメモリが浪費されます。
AK::SoundEngine::RegisterGameObj() 関数が2バージョン存在します:
AK::SoundEngine::RegisterGameObj( AkGameObjectID in_gameObjectID );
および
AK::SoundEngine::RegisterGameObj( AkGameObjectID in_gameObjectID, const char * in_pszObjName );
2番目の関数バージョンは監視を目的としています。これを使用すると、再生しているオブジェクトに関連付けられている実際名を表示するよう Wwise に指示が出されます。AK_OPTIMIZED モードでは、2番目のバージョンはオブジェクト名を無視します。
以下2つの関数により、ゲームオブジェクトの登録が解除されます:
AK::SoundEngine::UnregisterGameObj( AkGameObjectID in_gameObjectID );
および
AK::SoundEngine::UnregisterAllGameObj() は、各ゲームオブジェクトに設定されているすべてのパラメータの完全なクリーンアップを実行し、すべてのゲームオブジェクト関連付けを削除します。UnregisterGameObj() は、単一のゲームオブジェクトに対して同様の処理を実行します。登録が解除されたゲームオブジェクトを再度使用する場合は、これを再登録する必要があります。
ゲームオブジェクトの統合例は、ゲームオブジェクト統合例 をご覧ください。