목차

DVR과 배경음악 믹싱 예시

저작권이 포함된 음악은 보통 PS4와 XBox One의 DVR를 통해 녹음이 허가되지 않습니다. 두 콘솔 모두 음악을 별개로 관리하여 녹음하지 못하도록 하는 특별한 가상 장치를 제공합니다. 이 경우 Wwise에서 음악을 별도로 다른 계층 구조에서 믹싱하게 됩니다. 저희는 이것을 Integration Demo 프로젝트에 구현해 두었습니다. NonRecordable_Bus, RecordableMusic, NonRecordableMusic 사운드의 설정을 참고해 보세요. 코드를 보려면 DemoBGM.cpp를 참조하세요.

NonRecordableMusic은 Non Recordable Bus로 라우팅되는데, 이 버스는 다음과 같이 DVR_Bypass output으로 신호를 출력합니다.

그림 30.5. NonRecordable_Bus로 라우팅된 사운드

NonRecordable_Bus로 라우팅된 사운드

그림 30.6. DVR_Bypass로 설정된 Bus Audio Device

DVR_Bypass로 설정된 Bus Audio Device

이 작업에는 코딩해야 할 부분이 거의 없습니다. 게임은 반드시 Audio Device ShareSet의 이름과 함께 AK::SoundEngine::AddOutput() 을 호출하여 출력을 초기화해야 합니다.

Wwise의 Advanced Profiler를 사용하면 각 사운드가 별개의 버스와 출력으로 전송되는 것을 볼 수 있습니다. 보통 Xbox One과 PS4는 이렇습니다. (중간에 있는 Music 버스가 생략되었다는 점을 주의해 주세요.)

그림 30.7.


누락된 하드웨어 출력 관리하기

DVR 기능은 그 외 다른 지원 플랫폼에서 제공되지 않기 때문에 다른 방법으로 작업을 수행해야 합니다. 이 경우 당연히 DVR에 포함된 게임 음악을 잃지 않아야 하기 때문에 이 음악을 알맞게 라우팅해야 합니다. 이 문제를 해결하려면 간단히 Audio Device 속성의 링크를 해제하면 됩니다. 또한 마스터 버스 Property Editor에서 Audio Device 속성의 링크를 해제할 수도 있습니다. 아래 예시에서는 Non Recordable Bus를 일반 System 출력으로 나가게 해놨습니다. 이 출력은 여전히 Xbox One과 PS4 DVR_Bypass로 전송되기 때문에 Link 아이콘의 반쪽이 주황색으로 표시됩니다. 이 예시는 Integration Demo에서 구현한 작업과 동일합니다. 이 경우 System 출력이 항상 시작 시에 초기화되기 때문에 코드에서 AK::SoundEngine::AddOutput을 호출하여 출력을 초기화할 필요가 없습니다.

그림 30.8. System 출력으로 설정된 Audio Device

System 출력으로 설정된 Audio Device

두 사운드를 모두 재생할 때 이 두 음원으로부터의 신호가 각각 다른 버스로 보내지지만 결국 동일한 System 출력으로 혼합되는 것을 볼 수 있습니다.

그림 30.9. 두 마스터 버스가 장치에서 믹싱되는 과정

두 마스터 버스가 장치에서 믹싱되는 과정