バージョン
サウンドバンク生成でWwiseが生成するファイルは、プロジェクトのプラットフォーム別に設定された出力フォルダに書き込まれます。デフォルトの出力フォルダは <project-directory>/GeneratedSoundBanks/<platform-name> です。このセクションでは出力フォルダの構造を詳しく説明します。
サンプルプロジェクトとして、以下のようなコンテンツがある場合を考えます:
インポートしたメディアファイルbeep.wavと、それに関連するSFXオブジェクト sfx_beep 。
インポートしたメディアファイルhello.wavと、それに関連するVoiceオブジェクト voice_hello 。
各メディアファイルに対してプレイEventを1つずつ、 play_beep と play_hello 。
各Event対してサウンドバンクを1つずつ、 sb_beep と sb_hello 。
プロジェクトのターゲットプラットフォームとして Windows 。
サウンドバンク生成が正常に完了すると、Wwiseによって下図のファイル構造が作成されます:
Windowsプラットフォーム用の出力フォルダ。 | |
ローカライズしたサウンドバンク用の出力フォルダ。プロジェクトのランゲージごとにフォルダが1つずつあります。詳細はランゲージの管理を参照。 | |
サウンドバンクファイルsb_hello.bnk。ローカライズされたアセット(Voice hello.wav)がサウンドバンクに入っているため、サウンドバンクもローカライズされます。 | |
サウンドバンクファイルsb_beep.bnk。サウンドバンクにローカライズされたアセット(SFX beep.wav)が含まれないので、サウンドバンクはローカライズされません。 | |
メタデータファイルsb_beep.json。このファイルにサウンドバンク sb_beep.bnkの中身のメタデータが含まれます。 | |
サウンドバンクの設定に関わらず、全プロジェクトでWwiseがInit SoundBankを自動的に作成します。 | |
メタデータファイルSoundBankInfo.json。このファイルに、生成された全サウンドバンクのメタデータが含まれます。 | |
メタデータファイルPlatformInfo.json。このファイルに最後のサウンドバンク生成設定用のメタデータが含まれます。 | |
メタデータファイルProjectInfo.json。このファイルにプラットフォームのリストなど、最後のサウンドバンク生成中のProject設定のメタデータが含まれます。 |
注釈 | |
---|---|
メタデータファイルは任意であり、ユーザのサウンドバンク設定に従い生成されます。詳細は 「SoundBanksタブ」 を参照してください。 |
前のセクションではユーザ定義(User-defined)サウンドバンクのための出力フォルダ構造を説明しました。User-defined SoundBanksはProject ExplorerのSoundBanksタブのリストに表示されます。
プロジェクトはSoundBankを自動定義するように設定することができます。その場合は特定のプロジェクトオブジェクトのサウンドバンクをWwiseが生成します。詳細は 「サウンドバンクを自動定義する」 を参照してください。
理解を深めるために 「サウンドバンクファイル」 で説明したサンプルプロジェクトで、以下の変更点の場合を考えます:
インポートしたメディアファイルfootstep.wavと、それに関連するSFXオブジェクト sfx_footstep 。
インポートしたメディアファイルgoodbye.wavと、それに関連するVoiceオブジェクト voice_goodbye 。
各メディアに対してプレイEventを1つずつ、 play_footstep と play_goodbye 。
これらの新しいEventはユーザ定義のサウンドバンクに入っていません。
自動定義のSoundBankの場合、Wwiseは上記のユーザ定義のSoundBankと同じ構造を使用して、オブジェクトタイプごとに新しいSoundBank階層を作成します。更新されたサンプルプロジェクトでは、WwiseがEventとBusの自動定義サウンドバンク用に新しいフォルダ階層を作成します。下図に更新されたフォルダ構造と生成されるファイルを示します。
Eventオブジェクトから自動定義されたサウンドバンク用に、新しいフォルダ階層が作成されます。 | |
新フォルダ階層にもユーザ定義サウンドバンク用の階層と同じローカライズフォルダがあります。 |
注釈 | |
---|---|
簡略化のため、図では以下を省略しています:
|
Projectのサウンドバンクには必要なすべてのメディアファイルが含まれていないことがあります。サウンドバンクに含まれないメディアファイルは、例えば以下のような理由で入っていません:
ユーザ定義のサウンドバンクがメディアをサウンドバンクから意図的に除外しています。
自動定義のSoundBankが対象のメディアファイルを使用しています。
自動定義サウンドバンクにメディアファイルを含めません。
Projectがメディアファイルをストリーミングするように指定しています。
詳細は 「サウンドバンクを自動定義する」 を参照してください。
SoundBank Settingsの設定で、不足するメディアファイルを出力フォルダにコピーすることができます。その場合はWwiseが、コピーしたメディアファイル用に新しいフォルダ階層を作成します。詳細は 「サウンドバンクメディアを管理する」 を参照してください。
「サウンドバンクファイル」 で説明したサンプルプロジェクトに従い、Wwiseは自動定義サウンドバンクが参照する以下のメディアファイルを含めません:
footstep.wav
goodbye.wav
より分かりやすくするために、Wwiseが以下のようにMedia IDを割り当てたと仮定します:
footstep.wav: 111222
goodbye.wav: 3456
下図は、コピーしたメディアファイルを含む更新されたフォルダ構造です。
Mediaフォルダ階層のルートフォルダ。 | |
Mediaフォルダにも、そのローカライズ階層があります。 | |
メディアファイルfootstep.wavがコピーされ、割り当てられたMedia IDを使い名前が変更されています。 |
大規模なProjectでは出力フォルダに何千個ものファイルが入っていることが珍しくありません。これらのファイルの大部分は、Mediaフォルダや自動定義SoundBankのフォルダに入っています。フォルダ1つあたりのファイル数を制限しているプラットフォームでは問題が発生する可能性があります。Wwiseにはフォルダ内のファイルをさらにサブフォルダに分割するためにのSub-folders for Generated Files というサウンドバンク設定があります。詳細は 「SoundBanksタブ」 を参照してください。
この設定を有効にすると、Wwiseが以下のタイプのファイルを移動します:
自動定義サウンドバンクファイル。サウンドバンクファイル(.bnk)とそれに関連するメタデータが含まれます。
メディアファイル。
どちらの場合もファイルID(10進数形式)の最初の2桁を使い、サブフォルダ名を決めます。メディアファイルの場合は単純に、ファイル名の最初の2文字を使います。サウンドバンクファイルの場合は、サウンドバンクのIDを使います。サウンドバンクのIDは、それに関連するメタデータファイルやグローバルメタデータファイルのSoundBankInfo.jsonから、またはAPI関数 AK::SoundEngine::GetIDFromString
を呼び出しすことで取得できます。
下図はこの設定を有効にした時の出力フォルダの中身を表しています。この例ではサウンドバンク名が以下のIDに解決されたと仮定します:
sb_beep: 1111
sb_hello: 2222
sb_footstep: 3333
sb_goodbye: 4444
ユーザ定義サウンドバンクはサブフォルダに移動されません。サブフォルダへ分割されるのは、自動定義サウンドバンクフォルダやMediaフォルダのみです。