コミュニティQ&A

Audiokineticのコミュニティ主導のQ&Aフォーラムへようこそ。ここはWwiseとStrataのユーザのみなさまがお互いに協力し合う場です。弊社チームによる直接のサポートをご希望の場合はサポートチケットページをご利用ください。バグを報告するには、Audiokinetic LauncherのBug Reportオプションをご利用ください。(Q&AフォーラムではBug Reportを受け付けておりませんのでご注意ください。専用のBug Reportシステムをご利用いただくことで、バグの報告が適切な担当部門に届き、修正される可能性が高まります。)

最適な回答を迅速に得られるよう、ご質問を投稿される際は以下のヒントをご参考ください。

  • 具体的に示す:何を達成したいのか、またはどんな問題に直面しているのかを具体的に示してください。
  • 重要な詳細情報を含める:Wwiseとゲームエンジンのバージョンやご利用のOSなど詳細情報を記載してください。
  • 試したことを説明する:すでに試してみたトラブルシューティングの手順を教えてください。
  • 事実に焦点を当てる:問題の技術的な事実を記載してください。問題に焦点を当てることで、ほかのユーザのみなさまが解決策を迅速に見つけやすくなります。

0 支持
I am a newbie in WWise. Recently, I am trying to integrate the Wwise plugin to my game project using UnrealEngine, with Event based packaging. Everything seems ok.

But I'm curious about what's the strategy the ebp used to load the events and banks.

Does it load all event and banks and their media data while starting the game? Or just load one after we call PostEvent?

I've try print a time before and after the postevent call? Found that it cost quite a small time, seems the event has already been loaded. But I don't think All Event will be loaded in start time, this cost too much.

Who can tell me the truth behind it?
deXian z. (190 ポイント) General Discussion

回答 1

+1 支持
 
ベストアンサー
With EBP, AkAudioEvent and AkAudioBank assets serialize the bank data directly into the Unreal asset. When a map gets loaded, all assets referenced in the map (and in the map's blueprint nodes such as PostEvent) are loaded as well. When an event or bank asset is loaded, the media assets it references are also be loaded into memory (or an IO hook is opened if they are streaming). The loading system is designed this way so that all Wwise asset data required by a map will be in memory and usable once the map load is finished . In a similar way, unloading a map will unload the event, bank and media assets and their data will be garbage collected, freeing the memory.
Etienne R. (Audiokinetic) (1.1k ポイント)
deXian z. 選択
So, It means that if i want to control the event's loading time myself. I need to change  these AkEvent reference to SoftObjectPtr and async load them the time I need them?Thanks.
If you want to directly control the lifetime of an event and its media in memory, you will have to make sure you are loading and unloading the asset only in code (such as with  an asyncload). Otherwise its lifetime will be tied to that of the objects referencing it.

Another alternative that would work with just blueprints would be streaming sublevels with your events in and out depending on whether you need them.
...