목차
-
단원
메모리 사용을 줄이는 또 다른 방법은 한 번에 게임 시스템의 RAM에 오디오 파일의 일부만 올리는 것입니다. 이것을 스트리밍이라고 합니다. 스트리밍은 광 디스크나 하드 드라이브와 같은 저장된 메모리에서 직접 오디오를 재생할 수 있습니다. 스트리밍은 음악과 같이 몇 분 길이의 큰 오디오 파일에 특히 효과적입니다.
스트리밍의 단점은 게임 엔진이 사운드를 호출할 경우 사운드가 시작되기 전에 약간의 지연(레이턴시)이 발생할 수 있다는 점입니다. 이는 파일을 찾고 스트리밍을 시작하는데 시간이 걸리기 때문입니다. 얼음 보석 발사 소리의 경우 레이턴시가 티날 수 있지만 계속 재생되는 배경 음악의 경우에는 문제 없이 작동합니다.
스트리밍의 또 다른 단점은 한 번에 스트림에서 읽을 수 있는 데이터의 총량에 제한이 있으며 동영상과 같은 게임의 다른 요소들이 해당 스트림의 대역폭을 두고 경쟁할 수 있다는 점입니다.
Cube의 배경 음악은 DCP_the_core SoundBank에 포함되어 있으며 현재 메모리 예산을 초과한 상태입니다. 음악을 스트리밍하여 메모리 절약에 도움이 되는지 확인해 봅시다.
-
Project Explorer에서 Cube Main Theme 오브젝트를 선택하세요.

-
Property Editor에서 Sound SFX를 선택하고 Stream 그룹에서 Enable을 클릭하세요.

이제 일부 오브젝트를 제외하고 메인 테마를 스트리밍하여 충분한 메모리를 절약했는지 확인하기 위해 SoundBank를 다시 생성해봅시다.
-
메뉴 바에서 Layouts > SoundBank (F7)을 클릭한 다음 Generate All을 클릭하세요.
-
처리 과정이 완료되면 Generating SoundBanks 대화 상자에서 Close를 클릭하세요.
SoundBank Manager에서 확인해보니 음악을 스트리밍하는 것이 정말 큰 영향을 주었네요! 26,000,000 바이트만큼 초과했던 DCP_the_core SoundBank가 이제 6,000,000 바이트 예산의 반 정도만 사용하고 있습니다. Main SoundBank의 크기도 몇 가지 오브젝트를 제외했기 때문에 약간 줄어들었습니다.

-
메뉴 바에서 Layouts > Designer (F5)를 클릭해서 다음 단원을 준비해 봅시다.
잘하셨습니다! 19단원을 완료하여 두 개의 SoundBank 크기를 모두 메모리 예산 내로 맞추는 데 성공했습니다. 이 단원에서는 먼저 각 SoundBank에 최대 크기를 할당하여 이를 초과할 경우 Wwise가 경고를 표시하도록 했습니다. 그 다음 몇 개의 오디오 파일을 Vorbis 포맷으로 변환하여 더 적은 공간을 사용하도록 했습니다. 그런 다음 Random Container에서 일부 Sound SFX 오브젝트를 제외했습니다. 이로 인해 다양성이 줄어들었지만 그렇게 큰 차이는 없었습니다. 마지막으로 메인 테마 음악을 스트리밍하기로 했습니다. 스트리밍은 더 적은 메모리를 사용하고 음악에서 레이턴시도 미미하기 때문에 문제가 되지 않습니다.
다음 20단원: 사운드 디자인 최적화하기에서는 게임 성능을 모니터링하고 최적화하는 방법을 배워봅시다.