menu
バージョン
2017.1.9.6501
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
多くのコンソールでは、ゲームの音楽をユーザー個人のライブラリに所有する音楽に入れ替えることが可能です。この機能は、Wwiseではほぼ自動的に行われます。しかし、いくつかのプラットフォームでは、その実装と動作が異なります。
すべてのプラットフォームで初期設定は同じです: サウンドデザイナーは、ユーザーが所有の音楽を再生し始めた場合にミュートされるバスをタグする必要があります。これは "Mute for Background Music" チェックボックスで指定できます。コード側では、プラットフォームによって追加の詳細が必要になります。
AkPlatformInitSettings の jNativeActivity メンバーを必ず入力してください。Mute/Unmuteアクションは、ユーザがミュージックプレイヤのアプリケーションからゲームに切り替えた時のみに実行されます。つまり、ユーザのミュージックが独自に終了した場合はUnmuteアクションがありません。
サウンドエンジンの初期化設定でAudioSessionのMixOtherフラグが設定されている場合は、Mute/Unmuteアクションはユーザがミュージックプレイヤのアプリケーションからゲームに切り替えた時に限り実行されます。つまり、ユーザのミュージックが独自に終了した場合はUnmuteアクションがありません。iOS 8以降でAVAudioSessionCategoryAmbientカテゴリを使用している場合、全てのアプリケーションによるオーディオ中断でゲームミュージックのミュートやアンミュートが実行されます。
プラットフォームの中にはDVR機能があり、ゲーマーがそのゲームプレイを録画して、公開できるものがあります。そこで、ゲームオーディオの一部でありユーザーが置き換えることのできるゲーム音楽の著作権について、法的な問題が発生します。ゲームスタジオ側は音楽をゲームに使う権利を有しているものの、いかなる形式であれエンドユーザーが配信する権利はありません。このため、このプラットフォームでは通常ユーザーのBGMの録音を禁止しています。
対策としてCPU負荷が最も低いのは、ゲームの音楽を他と分けてミックスすることです。これは、セカンダリアウトプット機能で行います。
オーサリングツール上の操作としては、ミュージックオブジェクトをマスターセカンダリバス、またはその下のバスにルーティングするだけです。プロジェクトを別のBGM出力をしない、古いタイプのプラットフォームでも実行する場合には、そのプラットフォームのために Output Bus プロパティを Unlink して、音楽をメイン階層の異なるバスにルートする必要があります。
サウンドをゲームコントローラでも再生するゲームの場合は、コントローラ用のサウンドもこのバス階層を利用します。音楽がコントローラサウンドに混じったり、その逆が生じたりする心配はありません。リスナーとゲームオブジェクトのペアリングを行い、最終的なルーティングを決めるという追加のステップがあります(下記参照)。これはゲームプログラマーの担当です。プレイヤー同士のコントローラでサウンドの混乱が起きないのと同様に、音楽は内部的に別のミキシング階層に送られるのです。
ゲームで使用する場合には、BGM出力は手作業で追加する必要があります。 これは、AKSoundEngine::AddSecondaryOutput を利用してい行います。通常のリスナー/ゲームオブジェクトの概念を利用して、このデバイスに排他的にサウンドをルートします。このゲームでは、TV出力に使用するものとは別のリスナーを使用する必要があります (通常 0)。詳細については 概念:リスナー を参照して下さい。プログラーはゲームオブジェクトのリスナも設定する必要があります。
例は、 <Wwise installation path>/SDK/samples/IntegrationDemo/DemoPages/DemoBGM.cpp
を参照してください。