버전

menu_open
Wwise Unreal Integration Documentation
Switch Container 미디어 분할하기
참고: 이 기능은 Event-Based Packaging을 사용할 경우에만 사용할 수 있습니다.
경고: 이 기능이 올바른 미디어를 로드하기 위해서는 Switch나 State Value 에셋이 메모리에 로드되어 있어야 합니다. 다음과 같이 사용할 경우 문제가 생길 수 있습니다:
  • 문자열을 사용하여 State나 Switch를 설정할 경우. 예를 들어 Switch Container 미디어를 분할하려면 Load Asset Blueprint Node를 사용하여 상응하는 Switch나 State 값 에셋이 로드되어 있는지 확인해야 합니다.
  • C++에서 State나 Switch를 설정할 경우. 예를 들어 Switch Container 미디어를 분할하려면 비동기 애셋 로딩을 사용하여 상응하는 Switch나 State 값 에셋이 로드되어 있는지 확인해야 합니다. 런타임에 에셋을 동적으로 로드하지 않으려면 Split Switch Container Media 기능을 비활성화하는 것이 좋습니다.

메모리 사용량을 최적화하기 위해서는 Event와 해당 미디어 간의 의존성을 고려해야 합니다. 예를 들어 Footstep 이벤트의 의존성 구조를 살펴봅시다.

현재 활성화된 레벨이 Material_Dirt Switch Value만 참조할 경우 (예: Level Blueprint에서 SetSwitch 노드) Foot_Dirt1과 Foot_Dirt2 미디어 파일만 메모리로 로드됩니다. 후에 Material_Grass를 참조하는 레벨이 로드되면 Foot_Grass1과 Foot_Grass2가 자동으로 동시에 로드됩니다.

이 기능은 Integration 설정에서 비활성화할 수 있습니다:

Switch/State와 연관된 미디어가 로드/언로드되는 방식

Switch Container를 구현하는 이벤트의 메모리 사용량을 최적화하기 위해서 Split Switch Container Media Integration Setting이 기본적으로 활성화되어 있습니다.

이 옵션이 활성화되면 스위치 컨테이너의 구조가 이벤트 에셋 데이터 안으로 복제됩니다. 각 Switch나 State는 하위 SwitchContainerData나 미디어의 목록과 연관되어 있습니다.

State나 Switch 값 에셋이 레벨에서 참조되면 로드된 모든 이벤트는 해당 Switch나 State에 연관된 미디어를 로드/언로드하라는 콜백을 받으며 전체 의존성 구조를 확인하여 로드된 모든 참조 미디어를 찾습니다. 언로드할 때 스트리밍 매니저로의 핸들이 해제되며 쓰레기 수집기의 다음 틱에서 해당 미디어가 메모리에서 제거됩니다.

이 의존성 구조는 AkAssetDataSwitchContainerData 를 통해 구현됩니다:

AkAssetDataSwitchContainerData 는 미디어 파일로의 참조를 담습니다:

AkAssetDataSwitchContainerData 는 다른 AkAssetDataSwitchContainerData 로의 참조를 담습니다. Wwise에서 네스팅된 Switch Container를 사용할 경우 그렇게 됩니다.


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요