커뮤니티 Q&A

Audiokinetic의 커뮤니티 Q&A 포럼에 오신 것을 환영합니다. 이 포럼은 Wwise와 Strata 사용자들이 서로 도움을 주는 곳입니다. Audiokinetic의 직접적인 도움을 얻으려면 지원 티켓 페이지를 사용하세요. 버그를 보고하려면 Audiokinetic 런처에서 Bug Report 옵션을 사용하세요. (Q&A 포럼에 제출된 버그 보고는 거절됩니다. 전용 Bug Report 시스템을 사용하면 보고 내용이 담당자에게 정확히 전달되어 문제 해결 가능성이 크게 높아집니다.)<segment 6493>

빠르고 정확한 답변을 얻으려면 질문을 올릴 때 다음 팁을 참고하세요.

  • 구체적인 내용을 적어주세요: 무엇을 하려는지, 혹은 어떤 특정 문제에 부딪혔는지 설명하세요.
  • 핵심 정보를 포함하세요: Wwise와 게임 엔진 버전, 운영체제 등 관련 정보를 함께 제공하세요.
  • 시도한 방법들을 알려주세요: 문제 해결을 위해 이미 어떤 단계를 시도해봤는지 설명해주세요.
  • 객관적인 사실에 초점을 맞추세요: 문제의 기술적 사실을 중심으로 설명하세요. 문제에 집중할수록 다른 사람들이 더 빠르게 해결책을 찾을 수 있습니다.

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?
General Discussion deXian z. (190 포인트) 로 부터

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.
...