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


menu_open

アクションイベントをプリペアする(Prepare Event方式)

PrepareEvent() 方式は、必要な時だけメディアをロードするダイナミックな方式です。この方式を使うにはアクションイベントのメタデータをSoundBankに入れ、関連メディアファイルをファイルシステムからアクセスできる状態にする必要があります。対応する構造メタデータはイベントと同じSoundBankに入れるか、別のSoundBankに入れます。この方式では、アクションイベントのメタデータが入ったSoundBankは、LoadBank()(バンクをロード)を使って、メモリにロードされ維持されます。アクションイベントはゲームに呼び出される前にサウンドエンジンでプリペアします。イベントをプリペアすることで、ファイルシステムにある全ての関連メディアファイルがロードされ、関連する構造メタデータが既にロードされていない場合はこれもバンクからロードされます。アクションイベントが不要になると、プリペアを解除すれば対応メディアファイルがメモリからパージされます。メモリ使用率を最小限に抑え、メモリ内でメディアファイルが重複するのを防ぐために、Wwiseはメディアファイルをロードする前に、必ずチェックを行い、そのメディアファイルがまだメモリに入っていないことを確認します。

info 注記

事前にプリペア(用意)できるのは、アクションイベントだけです。PrepareEvent()(プリペアイベント)方式は、ダイアログイベントに使えません。

イベントを事前にプリペア(用意)することで、必要なメディアファイルだけがメモリにロードされる様子を、下図に示します。

メタデータ(構造と呼ぶこともある)がイベントと同じバンクに格納されていない場合に、他のSoundBankに保存された対応データを見つける手段が必要となります。探せるように、Wwiseは、他のSoundBankに保存されている関連コンテンツのレファレンス(参照情報)を入れます。他のSoundBankを参照するには、名前またはIDを使います。なお、サウンドエンジンでSoundBank名を使う場合は、Project Settingsダイアログボックスの、SoundBanksタブで、Use SoundBank Names(SoundBank名を使用)を選択します。IDを使う場合は、この選択を外します。詳しくは「SoundBanksタブ」を参照してください。

SoundBankが参照するメディアは、ディスク上にファイルとして保存するか、その他の方法でローレベルIOが扱える状態(File Package内など)でなければなりません。

この方式は全般的にメモリ使用が非常に効率的ですが、ディスクシークが増えるので、既にディスクからストリーミングしているファイル数が多い状況には向かない可能性があります。また、ゲームで複数のStateやSwitchを使う場合は、不要なメディアファイルもメモリにロードされる可能性もあります。例えば、ゲーム中の観衆(Crowd)の声として、観衆の満足度やエネルギーレベルに合わせて複数のサウンドがあるとしても、ゲームの特定ゾーンで、「Angry(憤慨)」Switchに該当するサウンドだけが使われるのであれば、他のサウンドをメモリにロードしても意味がありません。このような問題を避けるため、StateやSwitchも、プリペアする段階を設ければ、プリペア(用意)されたStateやSwitchに関連するメディアファイルだけをロードできます。

Switchだけを事前にプリペア(用意)して、メモリにロードされるメディアの数をさらに抑えた例を、下図に示します。

ゲームシンクを事前にプリペア(用意)することでメモリ使用を最適化できますが、同時に、メモリにメディアをロードする速さが遅くなるので、注意が必要です。プリペアされたゲームシンクに該当するサウンドを探すため、サウンドエンジンがディスクの中をシークする必要があるので、読み込み時間が長くなります。

この第2の方式では、必要なオーディオファイルだけをダイナミックにロードするので、多数のサウンドが存在する巨大なゾーンやレベルなどの状況や、メモリにイベントデータ、構造データ、メディアを保存するスペースが非常に限られた状況でも、柔軟に対処できます。

ご覧の通り、どの方式にも長所と短所があります。ゲームの様々なシナリオ、要件、制限などに基づいて、どの方式を採用するか決めてください。1つの方式を選んだにしろ、いくつかを組み合わせたにしろ、戦略が決まれば、SoundBankに中身を入れて調整を開始できます。

info 注記

ここで紹介した、LLoadBankAkBankContent_AllPrepareEventPrepareGameSyncsAkBankContent_StructureOnly の各種機能は、Wwise APIを通して使用できます。バンクのロードや、イベントやゲームシンクのプリペア(用意)については、Wwise SDKの、Integrating Banks のセクションを参照してください。

SoundBank管理に利用できる様々な方式の詳細については「SoundBank管理の戦略」を参照してください。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう