오디오 시스템 개요

사운드 큐 노드 기반 오디오 애셋 사용법을 포함해서, 게임내 사운드 재생에 사용되는 오디오 시스템에 대한 개요서입니다.

Windows
MacOS
Linux

언리얼 엔진 4 의 오디오 시스템은 여러 부분으로 구성되어 있으며, 그 각각이 합해져 플레이어가 듣게 되는 오디오 경험을 만들어 냅니다. 엔진에 오디오 파일을 임포트한 다음 레벨에 끌어 놓아 배치하면, Volume (볼륨)이나 Pitch (피치)와 같은 기본적인 조절 옵션 뿐만 아니라, 소리의 근원지와 청자와의 거리에 따라 소리가 어떻게 들리는지를 정의하는 Sound Attenuation (사운드 어테뉴에이션)같은 미세 조정 옵션도 생깁니다.

UE4 는 Sound Cue (사운드 큐) 형태로 복합적인 사운드를 만드는 것이 가능하며, 사운드 큐 에디터 를 통해 소리의 사운드를 합치는 것은 물론 사운드 노드 라는 형태로 변조시켜 최종 출력을 변경할 수도 있습니다. 이 글에서는 사운드의 청취 또는 재생 방식을 정의하는 데 사용되는 부가 요소들을 다루겠으며, 각 섹션별로 자세한 문서에 대한 링크를 찾을 수 있습니다.

사운드 파일 임포트하기

현재 언리얼 엔진 4 에서 지원하는 임포트 사운드 포맷은, 샘플링 레이트 무관 (아래 차트 확인) 미압축 리틀 엔디안 16 비트 웨이브 파일입니다. 최적의 결과를 위해서는 44100 Hz 또는 22050 Hz 의 샘플링 레이트를 사용할 것을 추천합니다.

사양

PCM, ADPCM, DVI ADPCM

포맷

.WAV

비트 레이트

16

스피커 채널

모노, 스테레오, 2.1, 4.1, 5.1 6.1, 7.1

에디터에 사운드 파일을 임포트하면 레벨에 바로 끌어 놓거나 사운드 큐 에디터 안에서 사운드 큐 를 만드는 데 사용할 수 있는 Sound Wave (사운드 웨이브) 애셋이 생성됩니다.

사운드 파일 임포트는 두 가지 방식으로 처리 가능합니다:

콘텐츠 브라우저 에서:

  1. 콘텐츠 브라우저에서 임포트 버튼을 클릭합니다 (아래 그림).

    ImportButton_UI.png

  2. 임포트하려는 .WAV 파일을 선택합니다.

또는

  1. Windows 파일 탐색기 창에서 사운드 파일을 선택합니다.

  2. 언리얼 엔진 4 의 콘텐츠 브라우저 속으로 끌어 놓습니다.

언리얼 엔진 4 는 (5.1 등의) 멀티 채널 사운드 역시도 지원하며, 멀티 채널용으로 임포트할 때 특별한 작명 규칙을 사용합니다.

임포트 및 멀티 채널 활용법 관련 상세 정보는 오디오 파일 문서를 참고해 주시기 바랍니다.

사운드 애셋 유형

사운드 애셋 추가를 위해서는, 콘텐츠 브라우저 에서 CB_button_NewAsset.png 버튼을 클릭하고 사운드 를 선택한 다음 메뉴에서 추가하고자 하는 애셋을 선택합니다.

selectSoundAsset.png

프로젝트에 추가할 수 있는 여러가지 다양한 유형의 사운드 애셋 에 대한 설명은 다음과 같습니다.

사운드 큐

soundCueEditor.png

사운드 큐사운드 노드 를 통해 오디오 재생 방식 변경, 오디오 이펙트 결합 등을 통해 최종 출력을 변조시키는 복합 사운드입니다.

자세한 정보는 사운드 큐 에디터 문서를 참고해 주시기 바랍니다.

사운드 어테뉴에이션

Sound Attenuation (사운드 어테뉴에이션) 애셋으로 감쇠 프로퍼티를 재사용 가능한 방식으로 정의할 수 있습니다. 일회성 감쇠 프로퍼티를 사용해야 할 곳에다 사운드 어테뉴에이션 애셋을 놓으면, 모든 사운드를 각각 다시 방문할 필요 없이 감쇠 프로퍼티를 조절할 수 있습니다.

soundAttenuation.png

Attenuation (감쇠) 프로퍼티 관련 상세 정보는, 사운드 어테뉴에이션 문서를 참고해 주시기 바랍니다.

반향 이펙트

Reverb Effect (반향 이펙트)는 여러가지 정의가능한 프로퍼티로 된 애셋으로, 쉽게 조절하여 레벨에 배치된 Audio Volume 에 적용할 수 있습니다. 반향 이펙트 는 (아래 그림과 같은) 메아리 밀도, 전반적인 반향 증가, 공기 흡수 등과 같은 세팅을 조절하여 원하는 효과를 낼 수 있습니다.

reverbeffect.png

사운드 클래스

Sound Classes (사운드 클래스)는 다수의 사운드 애셋 에 적용 가능한 프로퍼티 모음입니다.

사운드 클래스 안의 프로퍼티는 기존 값에 대한 배수 역할을 하여, 사운드 클래스 에 할당된 모든 사운드 애셋 에 대해 연산이 수행됩니다.

soundClassProperties.png

계층구조의 생성은 자손 클래스 를 추가하는 것으로 가능하며, 부모 클래스에서 자손 클래스로 지정된 프로퍼티만 전달할 수 있습니다. 사운드 큐 에디터 와 비슷한 노드 기반 인터페이스를 공유하는 사운드 클래스 에디터 에서 클래스를 서로 합칠 수도 있습니다.

soundClassEditor.png

사운드 클래스Passive Sound Mixes (패시브 사운드 믹스)를 추가하여 (아래 사운드 믹스 부분 참고) 사운드 클래스 재생시마다 자동 활성화 및 시작되도록 (예를 들어, 다이얼로그 사운드 클래스 재생시마다 자동으로 음악을 작게 한다든가) 할 수도 있습니다.

사운드 믹스

Sound Mixes (사운드 믹스)는 EQ 세팅 (이퀄라이저 세팅)을 설정하여 사운드 클래스볼륨피치 프로퍼티를 변경할 수 있습니다.

soundMixDetails.png

다수의 사운드 믹스 를 동시에 활성화시켜 전체적인 오디오 효과에 기여하도록 하는 것도 가능합니다. 블루프린트 안에서 Push Sound Mix ModifierPop Sound Mix Modifier 노드를 통해 사운드 믹스 를 직접 Push (활성화) 또는 Pop (비활성화) 시키거나, 주어진 사운드 클래스 가 일정 역치 내에서 재생중일 때 수동으로 활성화시킬 수도 있습니다.

하지만 Push/Pop 메서드는 전환하려는 믹스의 수가 많아지면 매우 급격하게 복잡해질 수 있습니다. 그럴 때 Set Sound Mix Class Override 블루프린트 노드가 쓰입니다. 활성 Sound Mix 가 기존의 사운드 클래스를 사용하도록 설정하면, 시간에 따라 서서히 현재 사운드 클래스와 새로운 사운드 클래스를 보간합니다.

image_37.jpg

그런 다음 Clear Sound Mix Class Override 를 사용하여 Sound Mix 를 원래 세팅으로 돌아가도록 설정할 수 있습니다.

콘텐츠 브라우저 에서 사운드 믹스 애셋을 더블 클릭 하면 열리는 애셋 자체 내에도 프로퍼티가 여럿 있습니다. 믹스에 대한 EQ 세팅 을 지정하여 고, 중, 저주파나 게인을 조절할 수 있습니다. 여러 사운드 믹스EQ 세팅 을 합칠 수는 없기에, EQ Priority (EQ 우선권)을 통해 일정한 시간에 어느 믹스의 프로퍼티를 활성화시킬 것인지 제어할 수 있습니다.

Sound Classes (사운드 클래스) 섹션에서는 믹스에 영향받을 사운드 클래스 를 설정할 수 있습니다. 각 사운드 클래스 에 대해 볼륨, 피치 조절량을 설정하거나, 믹스 세팅을 자손 클래스 에 적용할지 설정하거나, VoiceCenterChannelVolume 을 변경하거나 할 수 있습니다.

Sound Mix (사운드 믹스) 섹션에서는 사운드 믹스 프로퍼티 적용 또는 제거 방법을 지정할 수 있습니다. Delay (딜레이)는 얼마만큼 대기한 후에 믹스 프로퍼티 적용을 시작할지를 나타냅니다. Fade in Time (페이드 인 시간)과 Fade out Time (페이드 아웃 시간)은 효과가 없는 상태에서 지정된 값까지 전환되는 속도를 나타냅니다. Duration (기간)은 푸시된 사운드 믹스 가 지정된 기간 이후 자동으로 팝 되도록 합니다. 값이 -1 이면 절대 자동 팝 되지 않으며, 수동 적용된 사운드 믹스 가 자동 팝되지 않음을 나타냅니다.

다이얼로그 보이스 및 다이얼로그 웨이브

Dialogue Voice (다이얼로그 보이스)와 Dialogue Wave (다이얼로그 웨이브) 애셋은 게임내 다이얼로그 이벤트 생성, 자막 제작, 현지화 보조를 위해 사용됩니다.

새로 생성된 다이얼로그 보이스 애셋을 편집할 때, 보이스 액터의 Gender (성별)과 Plurality (수)를 정의할 수 있으며, 다이얼로그 보이스 안에서 오디오 애셋을 지정하지는 않지만, 여기에 제공된 정보는 다이얼로그 웨이브 안에서 참조 가능합니다.

다이얼로그 웨이브 에는 오디오와 화자/청자 사이를 연결해 주는 추가적인 옵션이 있습니다. 다이얼로그 오디오와 자막 텍스트 사이의 상관관계가 이루어 지는 곳이기도 합니다. 다이얼로그 웨이브 는 대화 한 줄을 나타내며, 다이얼로그 웨이브 세팅의 핵심적인 부분은 Dialogue Contexts (다이얼로그 컨텍스트) 섹션입니다.

dialogueWaveDetails.png

다이얼로그 컨텍스트 섹션에서는 각 섹션마다 다이얼로그 보이스 를 할당하는 것으로 Speaker (청자) 또는 대화의 Directed At (지향 대상)을 지정할 수 있습니다. 대화의 대사 실제 음성은 컨텍스트 창을 펼친 다음 드롭다운 메뉴에서 원하는 애셋을 선택하거나 컨텍스트 메뉴에서 애셋을 가리키는 것으로 추가시킬 수 있습니다.

같은 대사를 하는 액터가 여럿 있는 경우, Add Dialogue Context (다이얼로그 컨텍스트 추가) 옵션을 통해 대화에 새 항목을 추가하여 화자지향 대상 을 새로 설정할 수 있습니다.

다이얼로그 웨이브 애셋은 사운드 큐 에디터 에서 Dialogue Player 노드를 사용하여 사운드 큐 에 할당할 수도 있습니다. 또한, 블루프린트 안에서도 Play Dialogue at Location, Play Dialogue Attached 노드를 사용하여 다이얼로그 웨이브 에 바로 접근할 수 있습니다.

다이얼로그 컨텍스트 에 추가로 대화에 성인용 내용이 포함되었음을 알리는 Mature (성인) 필터를 적용할 수 있습니다. Script (스크립트) 아래 Spoken Text (음성 텍스트) 섹션 안에 첨부된 오디오의 음성에 대한 대사를 입력할 수 있습니다. Voice Actor Direction (보이스 액터 지시) 섹션에는 오디오에 대한 번역 보조용 컨텍스트 정보나 보이스 액터에 대한 참고사항을 입력할 수도 있습니다.

자세한 정보는 다이얼로그 보이스 및 웨이브 사용법 예제를 확인하세요.

전략

일반적인 볼륨 관련 지침

가장 시끄러운 잠재 볼륨에 대해서는 약간 더 많은 전체 대역폭을 적용할 수 있습니다. 예를 들어 볼륨이 1.0 인 스테레오 파일은 모노 파일보다 소리가 2배 크며, 마찬가지로 4 모노 파일은 4 배 큽니다. 그렇지만 결국은 전체적인 한계치에 도달할 것이고 출력이 잘리고 왜곡되기 시작합니다.

모든 주어진 사운드 큐에서 2.0 까지의 볼륨 설정은 오디오 파일의 인지되는 소리의 세기를 높이지만, 그 이상은 그렇지 않습니다. 단일 큐는 절대 왜곡되지 않지만, 여러 큐가 동시에 게임에서 재생될 때 과부하가 생길 가능성이 있으므로 최대 볼륨으로 모든 파일을 재생하는 것은 바람직하지 않습니다.

일관성있는 볼륨 체계나, 볼륨에 대한 최소한의 일반적인 지침을 정해두면 좋을 것입니다:

카테고리

대략적인 볼륨

대화

1.4

음악

0.75

무기

1.1

주변음

0.5

또한 모든 오디오에 대해 플랫폼간의 일관성을 유지하기 위해 음악을 제외한 모든 부분에서 모노 애셋의 사용을 고려할 수도 있습니다.

볼륨 더킹

Volume Ducking (볼륨 더킹)은 보통 대화처럼, 들려주고자 하는 것을 제외한 다른 모든 사운드의 볼륨을 낮추는 데 사용됩니다.

프로세스는 보통 이와 같이 구성됩니다:

  • (대화처럼) 더킹이 필요한 사운드 클래스 를 파악합니다.

  • 사운드 클래스 에서 사운드가 발동되면, 다른 사운드 클래스 의 볼륨을 서서히 줄입니다 (사운드 믹스 : Fade in Time = 0.3 초).

  • 다른 사운드 클래스 의 볼륨 감소량을 지정합니다 (사운드 믹스 : Volume Adjuster = 0.4).

  • 더킹 사운드 클래스 의 사운드 재생이 중지되면, 다시 다른 사운드 클래스 의 볼륨을 서서히 정상치까지 올립니다 (사운드 믹스 : Fade Out Time = 0.3 초).

  • 음악이나 Exceptions (예외) 사운드 클래스 등 더킹 프로세스에 사운드 클래스 예외를 둘 수도 있습니다.

비슷한 접근법을 통해 중요한 오디오가 피상적이거나 중요치 않은 오디오 요소에 묻히지 않도록 강조시킬 수 있습니다.

사운드 메모리 사용의 최적화

콘텐츠를 제작할 때는 오디오의 충실도를 유지하기 위해 샘플링 레이트를 최저로 하는 것이 좋습니다. 예를 들어 대화는 보통 22.1kHz 에서도 괜찮게 들리지만 일반적으로 높은 주파수에서 재생되는 (총소리 등의) 이펙트는 (40.0kHz 정도로) 더 높아야 합니다. 비슷한 방법을 퀄리티 세팅에도 적용할 수 있습니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼