Wwise SDK 2024.1.1
|
多くのコンソールでは、ゲームの音楽をユーザー個人のライブラリに所有する音楽に入れ替えることが可能です。この機能は、Wwiseではほぼ自動的に行われます。しかし、いくつかのプラットフォームでは、その実装と動作が異なります。
すべてのプラットフォームで初期設定は同じです: サウンドデザイナーは、ユーザーが所有の音楽を再生し始めた場合にミュートされるバスをタグする必要があります。これは "Mute for Background Music" チェックボックスで指定できます。コード側では、プラットフォームによって追加の詳細が必要になります。
AkPlatformInitSettings の、jActivityメンバーを必ず入力してください。Mute/Unmuteアクションは、ユーザがミュージックプレイヤのアプリケーションからゲームに切り替えた時のみに実行されます。つまり、ユーザのミュージックが独自に終了した場合はUnmuteアクションがありません。
Replacing the game music with an external music application is only possible if the application is using a "mixable" audio session configuration. There are two ways to have a mixable audio session:
Any other configuration stops the user's music application when the game is in the foreground.
プラットフォームの中にはDVR機能があり、ゲーマーがそのゲームプレイを録画して、公開できるものがあります。そうすると、ゲームオーディオの一部でありユーザーが置き換えることのできるゲーム音楽の著作権について、法的な問題が発生します。ゲームスタジオ側は音楽をゲームに使う権利を有しているものの、エンドユーザーには、いかなる形式であれ、それを配信する権利がないかもしれません。このため、通常はプラットフォームの要件としてユーザーによるBGMの録音を禁止しています。
対策としてCPU負荷が最も低いのは、ゲームの音楽を他と分けてミックスすることです。これは、セカンダリアウトプット機能で行います。
オーサリングツール内で、ミュージックオブジェクトをデフォルトのマスター Audio Bus以外のマスターバスにルーティングする必要があります。多くのプロジェクトでは、新しいマスターバスを作成することから始めます(Master Mixer HierarchyのWork Unitを右クリックして、Add > Child)。デフォルトで、全てのバスがシステム出力にルーティングされます。Audio DeviceのShareSetを変更して、DVR出力にポイントさせます。
全てのプラットフォームがDVRに対応しているわけではないので、注意してください。それらのプラットフォームでは、オーディオデバイスプロパティをアンリンクさせて、システム出力にポイントさせる必要があります。または、ミュージックオブジェクトの Output Bus プロパティをアンリンクします。
ゲームで使用する場合には、DVR出力は手作業で追加する必要があります。 これを行うにはAK::SoundEngine::AddOutput()
を使って、オーディオデバイスシェアセットの名前(またはID)と AkOutputSettings
のほかのパラメータを送ります。
例は、 <Wwise installation path>/SDK/samples/IntegrationDemo/DemoPages/DemoBGM.cpp を参照してください。