버전
menu_open

Understanding secondary outputs

'2차 출력(secondary output)'이라는 용어는 주요 TV나 주요 스피커가 아닌 모든 오디오 출력을 말합니다. 이러한 출력은 상황에 따라 별도의 오디오 믹스가 필요합니다. 마스터 2차 버스(master secondary bus)는 게임의 각 예상 출력에 필요한 만큼 마음껏 만들 수 있습니다. 가장 일반적으로 사용하는 2차 출력은 게임 컨트롤러의 스피커나 헤드폰입니다. 다른 독립적인 출력도 있을 수 있습니다 (채팅, 배경음악, 헤드폰 등). 이 섹션의 나머지 부분에서는 게임 컨트롤러 스피커에 대해 설명하지만 이 정보는 그 외 다른 모든 출력 유형에도 적용될 수 있습니다.

2차 출력으로 출력하려면 사운드가 다음 중 한 방법을 통해 마스터 2차 버스에 라우팅되어야 합니다.

  • 사운드의 Output Bus 속성을 2차 버스 계층 구조에 직접 설정. 이 방법은 다른 사운드를 라우팅하는 방식과 동일합니다. 이 방법은 보통 한 개의 2차 출력 인스턴스에 연결된 사운드의 경우 선호되는 방법입니다. 예를 들어 플레이어에 의해 일어나는 총소리, 테니스 라켓 휘두르는 소리, PDA 소리, 게임 플레이 피드백 등에 이 방법을 사용할 수 있습니다.

  • 마스터 Audio Bus 계층 구조의 버스를 통해 사운드를 라우팅하고 user/game send를 2차 버스 계층 구조의 Auxiliary Bus에 추가. 이 방법은 동일한 사운드가 동시에 다양한 출력과 TV에서 들려야할 때 선호되는 방법입니다. 예를 들어 스파이 카메라나 안내 방송 등에 이 방법을 사용할 수 있습니다.

버스 계층 구조는 믹싱 구조만을 결정합니다. 믹스를 특정 출력에 연결하려면 해당 마스터 보조 출력에서 적절한 Audio Device ShareSet을 선택하세요.

게임에서 인스턴스가 여러 개일 수 있는 플레이어 관련 출력(게임 컨트롤러 또는 헤드폰과 같이)의 경우 연결된 믹싱 계층 구조가 각 플레이어 수대로 복제된다는 것을 꼭 알아두어야 합니다. 프로젝트는 특정 유형의 출력에 대한 믹싱 '레시피'만을 정의합니다. 어떤 구조의 복사본에 라우팅될지는 프로그래머가 설정한 Listener(청자)와 Game Object 관계에 따라 다릅니다. 다음 예시에서 이를 설명합니다.

Secondary output examples

모든 예시는 아래 표시된 Secondary Bus 계층 구조의 버스 구조를 사용합니다. Main Audio Bus 계층 구조는 생략되었습니다. 이 구조는 각 출력에 복제되기 때문에 최종 믹스는 독립적입니다. 필요한 버스만 인스턴스화 된다는 점을 주의하세요.

그림 1. Master Secondary Bus 구조

Master Secondary Bus 구조

그림 2. 사운드가 주요 출력(main output)으로 전송되는 간단한 예시

사운드가 주요 출력(main output)으로 전송되는 간단한 예시

이 예시는 한 사운드가 주요 출력을 전송되는 것을 보여줍니다. 일반 게임에서 대부분의 사운드는 다양한 하위 버스로 라우팅됩니다. 하지만 이 예시에서는 간단하게 TV 출력에서 하나의 사운드만을 재생한다고 가정해 봅시다.

그림 3. 사운드가 플레이어 2의 컨트롤러 출력으로 전송되는 간단한 예시

사운드가 플레이어 2의 컨트롤러 출력으로 전송되는 간단한 예시

이번에는 또 다른 사운드를 플레이어 2의 게임 컨트롤러로 전송한다고 해봅시다. 다른 플레이어를 제외한 이 플레이어만 메뉴에 있을 때 재생하는 메뉴 사운드를 예로 들겠습니다. 이 경우 이 사운드는 연결된 출력 버스에 정상적으로 믹스될 것이며 TV 믹스와는 독립적일 것입니다. 이 사운드가 플레이어 2의 컨트롤러에서만 재생되도록 할 수 있었던 것은 게임에서 Listener와 Game Object을 연계해 놓았기 때문입니다. 이 경우 프로그래머는 Controller 2의 Listener에서만 들리는 Game Object의 사운드를 재생합니다.

그림 4. 플레이어 1, 플레이어 2, TV로 가는 사운드.

플레이어 1, 플레이어 2, TV로 가는 사운드.

이 예시는 두 가지를 보여주고 있습니다. 사운드가 복수의 2차 출력과 TV 믹스로 라우팅될 수 있다는 것이죠. 여기에서는 플레이어 1이 미리 녹음된 무전 호출을 통해 도움을 요청하는 경우를 가져왔습니다. 이 무전 호출은 같은 팀의 플레이어 2에게 들리며, 또한 TV의 시점에서도 이 무전 소리를 내는 플레이어 2와 가깝기 때문에 TV에서도 들리게 됩니다. 이 사운드의 Output Bus는 Bus 1로 설정되어 있습니다. 이 버스는 마스터 2차 버스처럼 플레이어 1과 플레이어 2로 복제됩니다. 플레이어 2의 믹스는 분명히 Sound 1뿐만 아니라 Sound 2 (유일하게 듣게 될 것)를 포함해야 합니다. Master Secondary Bus의 두 복사본 모두 동일한 효과가 적용되지만 적용되는 오디오 신호는 다릅니다.

또한 Send는 Sound 3에서 TV 믹스로 전송되는 것을 볼 수 있습니다. 다른 출력으로 전송할 때는 모든 유형의 Send를 사용할 수 있습니다. 이 경우 이 무전 호출은 '카메라'에도 들릴 수가 있습니다 (거리와 감쇠에 따라). 그렇기 때문에 이 무전 호출은 주요 TV 믹스에 섞여야 하며 정의된 Auxiliary Bus로부터 온 그 믹스에 들어갈 것입니다.

Background music mixing with DVR example

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

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

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

NonRecordable_Bus로 라우팅된 사운드

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

DVR_Bypass로 설정된 Bus Audio Device

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

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

그림 7. 두 마스터 버스가 별도의 출력에서 믹싱되는 괴정

두 마스터 버스가 별도의 출력에서 믹싱되는 괴정

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

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

System 출력으로 설정된 Audio Device

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

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

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


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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요