Wwise SDK 2023.1.8
|
ゲームオブジェクトは、インターフェース、サウンド、トリガーなどの要素を関連付けられるエンティティです。
ゲームオブジェクトは、 AkGameObjectID
(符号なし64ビットフィールド)として定義できます。IDは、0から0xFFFFFFFFFFFFFFDF(つまり符号付き整数として -33)までの範囲で、自由に選択できます。 ゲームオブジェクトID範囲0xFFFFFFFFFFFFFFE0(-32)から0xFFFFFFFFFFFFFFFF (-1) は、内部使用のために予約されています。オーサリングツールによって登録されたトランスポート・ゲーム・オブジェクトは、ゲームオブジェクトID 0xFFFFFFFFFFFFFFFE(-2)を使用するようになりました。
サウンドエンジンでトリガーされる各Eventは、ゲームオブジェクトに関連付けられています。Event Actionが特定のゲームオブジェクトをターゲットとする場合、 AK::SoundEngine::PostEvent()
関数のパラメータとして渡されるゲームオブジェクトに関連付けられます。Event Actionがゲームオブジェクトをターゲットとしない場合、これらは指定されたゲームオブジェクトを無視します。Actionが単一のゲームオブジェクトに影響を与える場合に AK::SoundEngine::PostEvent()
で指定されたゲームオブジェクトが有効でなければ、Actionは実行されません。
各ゲームオブジェクトは、関連付けられた3Dポジション、Switch GroupごとにSwitch、RTPCごとにRTPC値、そして特定のゲームオブジェクトの特定のアイテム(Sound SFX、Actor-Mixer、バスなど)に設定できる複数の値(ボリュームなど)を持つことができます。サウンドエンジンは、これらの値に関連付けられているゲームオブジェクトが登録解除されるまでこの情報を格納します。
ゲームオブジェクトは、使用する前に登録する必要があります。ゲームオブジェクトが不要になった場合は登録を解除します。登録したままにすると、情報(3DPosition、RTPC、Switchなど)を格納するためにメモリが無駄に使用されます。
AK::SoundEngine::RegisterGameObj()
関数が2バージョン存在します:
および
2番目の関数バージョンは監視を目的としています。再生中のオブジェクトに関連付けられた実際の名前が表示されます。AK_OPTIMIZED
モードでは、2番目のバージョンはオブジェクト名を無視します。
以下の2つの関数のいずれかを使用し、ゲームオブジェクトの登録を解除できます:
および
AK::SoundEngine::UnregisterAllGameObj()
は、各ゲームオブジェクトに設定されているすべてのパラメータの完全なクリーンアップを実行し、すべてのゲームオブジェクト関連付けを削除します。UnregisterGameObj()
は、単一のゲームオブジェクトに対して同様の処理を実行します。登録を解除したゲームオブジェクトを再度使用する場合は、再登録する必要があります。
注釈: ゲームオブジェクトIDを再利用すると、ゲームオブジェクトとWwise Profiler内の名前の間で信頼性に欠ける関連付けが発生する可能性があります(プロファイリングを参照)。これは、Profilerのビューが更新されると、最も直近に使用された名前のみが表示されるためです。 |
ゲームオブジェクトの統合例については、 ゲームオブジェクト統合例 をご参照ください。