Unreal Engine에서 AudioLink를 사용하는 방법

Wwise에 대한 팁과 도구

소개

이 글에서는 Unreal Engine의 AudioLink를 집중적으로 살펴보려고 합니다.

이 작업은 다음 버전을 사용하여 검토되었습니다.

  • Wwise 2023.1.3.8471
  • Unreal Engine 5.3.2

다른 버전에서는 다르게 작동할 수 있습니다.

목차

소개
목차
AudioLink란?
도표: 작동 방식
새로운 프로젝트 준비하기
통합 및 프로젝트 생성
AudioLink - 구성
Wwise 프로젝트 설정
Unreal 통합 구성하기
Unreal 설정 (선택 사항)
Sound Attenuation 설정
Sound Submix 설정
AudioLink - 사운드 재생하기
Sound Attenuation을 지정할 경우 (Blueprint 노드)
Sound Attenuation을 지정할 경우 (Audio Component)
Wwise AudioLink Settings를 지정할 경우
Sound Submix
결론

AudioLink란?

AudioLink는 Unreal Engine 5.1 이상에서 사용할 수 있는 Unreal Engine 기능으로, Unreal Audio Engine을 미들웨어와 함께 사용할 수 있게 해줍니다.

이 기능은 MetaSound와 같은 UE의 자체 사운드 솔루션을 Wwise와 같은 오디오 미들웨어와 함께 사용할 수 있게 해주죠.

도표: 작동 방식

01_Unreal_and_Wwise_structure

오른쪽부터 시작하여 Wwise 쪽의 Audio Input 플러그인은 AudioLink에서 출력을 수신하며 Wwise AudioLink Settings는 Wwise로의 AudioLink 출력을 관리합니다. Sound Attenuation은 Wwise AudioLink Settings의 설정을 포함하죠. (참고: 여기서 Sound Attenuation은 Unreal Audio 시스템에서의 Unreal 에셋입니다. AudioLink는 Unreal 사운드가 Sound Attenuation을 사용할 경우에만 작동합니다.)

Unreal Engine에는 Sound Attenuation을 출력 방법으로 지정할 수 있게 해주는 Blueprint 노드도 있고 어떤 것도 지정하지 못하도록 하는 노드도 있습니다.

Sound Cue와 MetaSound 같은 Audio Component는 Sound Attenuation은 물론 Wwise AudioLink Settings를 직접 지정할 수 있게 해줍니다.

또한 Wwise AudioLink Settings에서 해당 출력을 Sound Submix로 라우팅할 수 있죠. Sound Submix는 Unreal 안에 있는 대부분의 오디오 출력을 캡처할 수 있지만 Text-to-speech(텍스트 음성 변환)과 같은 일부 플러그인은 바로 사용할 수 없습니다.

다음 표는 정보를 간단하게 요약해줍니다.

02_Method_Table

새로운 프로젝트 준비하기

통합 및 프로젝트 생성

이전 블로그 글을 참조하여 '프로젝트 생성하기' 단계를 완료하세요.

Audio Link - 구성

(참고: 이 설정을 마친 후에도 소리가 들리지 않는다면 Unreal Engine을 재시작하세요.)

Wwise 프로젝트 설정

Wwise Authoring에서 시작합니다.

  1. Sound SFX를 생성합니다. 이 이름을 AudioInput으로 지정합니다.

03_Create_AudioInput

  1. Audio Input을 Source로 설정합니다.

04_AddSource_AudioInput

  1. 해당 SFX를 재생하는 Event를 생성합니다.

05_Create_Event

이렇게 Wwise 쪽에서의 사운드 입력 설정이 끝났습니다.

 

Unreal 통합 구성하기

이제 Unreal Editor로 전환합니다.

  1. Edit - Project Settings…WwiseIntegration SettingsInitialization으로 가서 Unreal Audio Routing을 'Route through AudioLink [UE5.1+]'로 설정합니다. 그러면 앱을 재시작하라는 메시지가 뜹니다.

06_Set_Unreal_Audio_Routing

  1. Generate SoundBanks… 버튼을 클릭하고 다음 Generate SoundBanks 대화창을 따라 추가한 Play_AudioInput의 Event가 담긴 SoundBank를 생성합니다.

07_Generate_SoundBanks

  1. Reconcile 버튼을 누릅니다.

08_Push_Reconcile

  1. Reconcile Unreal Assets 대화창에서 Reconcile Unreal Assets 버튼을 눌러 UAsset을 생성합니다. (UAsset은 여러 다른 방법으로 생성할 수 있습니다.)

09_Reconcile

  1. Content Browser에 있는 Add 버튼에서 Audio - AudioLink - Wwise AudioLink Settings를 생성합니다.

10_Create_WwiseAudioLinkSettings

  1. 생성된 NewWwiseAudioLinkSettings를 편집하고 위에서 생성한 Play_Audio Input(AkAudioEvent asset)을 AudioLink – Start Event로 설정합니다.

11_Set_AudioInput

이제 AudioLink 출력을 Wwise에 공급할 준비가 되었으니 AudioLink에 공급할 Unreal Engine 오디오 출력을 구성해야 합니다. 

Unreal 설정 (선택 사항)

Sound Attenuation 설정

이 설정은 PlaySound2D at Location 및 Audio Component와 같이 Sound Attenuation을 지정할 수 있는 사운드 메소드에서 사용할 수 있습니다.

1. Content Browser의 Add 버튼에서 AudioSound Attenuation을 생성합니다.

12_Add_SoundAttenuation

2. 생성한 NewSoundAttenuation을 편집하고 위에서 생성한 NewWwiseAudioLinkSettings를 Attenuation (AudioLink)AudioLink Settings Override로 설정합니다. 또한 감쇠가 필요하지 않을 경우 AudioLink 이외의 Attenuation에 있는 Enabled를 선택 해제합니다.

13_Set_NewWwiseAudioLinkSettings

Sound Submix 설정

Sound Submix를 사용하여 AudioLink에 사운드를 출력하려는 경우 다음 구성을 생성합니다.

PlaySound2D와 같이 Attenuation을 지정할 수 없는 사운드 재생 방법을 자동으로 지원한다는 장점이 있지만 이 구성은 항상 활성화되어있다는 점을 주의해야 합니다.

1. Content Browser에 있는 Add 버튼에서 AudioMixSound Submix를 생성합니다.

14_Create_SoundSubmix

2. 생성된 NewSoundSubmix를 편집하고 Audio Link에서 Send to AudioLink를 활성화하며 Wwise를 AudioLink Settings로 설정합니다. AudioLink Settings를 지정합니다.

15_Set_NewWwiseAudioLinkSettings

이렇게 설정이 끝났습니다. 이를 사용하고 싶지 않다면 Send to Audio Link를 선택 해제하여 비활성화할 수 있습니다.

AudioLink - 사운드 재생하기

Sound Attenuation이나 지정된 Wwise AudioLink Settings를 사용하여 사운드를 재생할 경우 AudioInput은 재생 도중 Voice Graph에만 나타납니다.

Sound Submix가 활성화되었을 경우 Sound Attenuation / Wwise AudioLink Settings를 지정할 때 작동 방식을 이해하기가 어려워지기 때문에, 이 경우 Sound Submix를 사용하지 않고 이러한 작동을 확인하는 것이 좋습니다.

Sound Attenuation을 지정할 경우 (Blueprint 노드)

Blueprint 노드에서 사운드 재생에 대한 Sound Attenuation을 설정하는 방법:

1. 아래 메뉴에서 Open Level Blueprint를 클릭합니다.

16_Open_LevelBlueprint

2. Blueprint 창을 우클릭하여 BeginPlay Event를 생성합니다.

17_Create_BeginPlay

3. BeginPlay Event에서부터 커넥터를 그려서 Location 노드에 PlaySound를 만듭니다.

18_Create_PlaySoundatLocation

4. Sound를 Starter_Music_Cue로 설정합니다.

19_Set_StarterMusicCue

5. Attenuation Settings에서 NewSoundAttenuation을 설정합니다.

20_Set_NewSoundAttenuation

이 상태에서 출력하고 에디터에서 실행하면 Wwise Profiler에 Play_AudioInput을 통해 Starter_Music_Cue가 재생되는 것이 보입니다 (미터는 작동하지만 뭐가 재생되는지는 Wwise에서 확인하지 못합니다).

21_Advanced_Profiler

Sound Attenuation을 지정할 경우 (Audio Component)

이제 MetaSound를 사용해봅시다.

1. Content Browser의 Add 버튼에서 AudioMetaSound Source를 생성합니다.

22_Add_MetaSoundSource

2. 생성한 NewMetaSound Source를 더블 클릭한 다음 나타나는 창을 우클릭하여 Noise 노드를 생성합니다.

23_Create_Noise

3. Audio 출력을 Out Mono에 연결합니다.

24_Set_OutMono

4. Content Browser에서 뷰포트로 NewMetaSound Source를 드래그하여 놓습니다.

25_Drag_NewMataSoundSource

5. 뷰포트에 배치된 오브젝트를 클릭하고 Details에서 AudioComponent를 선택합니다.

26_Select_AudioComponent

6. Attenuation Settings에서 NewSoundAttenuation을 설정합니다.

27_Set_NewSoundAttenuation

이 상태에서 장치를 시작하면 AudioLink를 통해 MetaSounds의 핑크 노이즈를 들을 수 있습니다.

Wwise AudioLink Settings를 지정할 경우

위에서 설치한 NewMetaSound Source를 사용하여 설정해봅시다.

1. Audio Component에서 Attenuation을 열고 Override Attenuation을 활성화합니다.

28_Enable_OverrideAttenuation

2. Attenuation (AudioLink) - AudioLink Settings Override에서 Wwise AudioLink Settings를 설정합니다.

29_Set_NewWwiseAudioLinkSettings

이 경우 Sound Attenuation을 참조하는 대신 Wwise AudioLink Settings의 설정을 직접 사용할 수 있습니다.

Sound Submix

PlaySound2D를 사용하여 Sound Attenuation 등을 설정하지 않고 AudioLink를 통해 재생할 수 있는지 확인해봅시다.

1. Level Blueprint의 BeginPlay Event에서부터 커넥터를 그려서 Play Sound 2D 노드를 생성합니다.

30_Create_PlaySound2D

2. SoundCollapse_Cue로 설정합니다.

31_Set_CollapseCue

Play Sound 2D는 Sound Attenuation 등을 설정할 곳이 없습니다.

이 상태에서 컴파일하고 실행하면 설정한 Collapse_Cue가 들립니다.

Sound Submix가 비활성화되더라도 여전히 사운드가 들리지만 Wwise를 통과하지 않기 때문에 Wwise에 있는 미터가 움직이지 않게 됩니다. 반대로 Sound Submix가 활성화될 경우 Wwise의 미터가 움직이게 됩니다.

결론

AudioLink를 사용한 Unreal Audio에서의 사운드 전달은 Wwise와 함께 작동하여 여러분의 상호작용 오디오 경험을 가장 잘 표현할 수 있는 창의적인 도구와 기술을 사용할 수 있는 기회를 제공합니다. 시스템 프로토타입 제작을 지원하고, 긴밀히 동기화된 시청각적 피드백 개발 속도를 높이며, Unreal Audio와 Wwise를 모두 사용하여 생기는 잠재력을 활용할 수 있죠. 앞으로도 안정적으로 작동하는 많은 기능에 대해 이해하기 쉽게 설명해드릴 예정이니, 이러한 기능에 대한 추가 설명이 필요하다면 알려주세요!

히로시 고다 (Hiroshi Goda)

히로시 고다 (Hiroshi Goda)

히로시는 Audiokinetic K.K(일본)의 시니어 필드 애플리케이션 엔지니어이자 기술 전도사이며, Wwise를 구현했거나 구현을 고려 중인 고객에게 기술 지원을 제공하고 있습니다. 1997년 PlayStation에서 게임 프로그래머로서 시작한 그의 경력은 PlayStation3까지 이어졌고, 그 후 모바일 게임 분야에서 경력을 이어나갔습니다. 히로시는 2016년에 사이버 보안 산업으로 이직했었지만 2021년에 다시 게임 산업으로 돌아와 지금 하고 있는 일을 시작했습니다. 색감 감소 도구 및 플레이스테이션 1 동영상 표준 개발 경험을 바탕으로 3값 α 동영상을 사용한 레이어 드로잉에 대한 특허를 보유하고 있는 그는, 실제로 오디오보다 시각적인 사람에 가깝습니다.

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

잔향도 공간화가 필요합니다: Wwise Spatial Audio의 Room과 Portal 가이드

최근에 공간 음향에 대한 관심이 아주 뜨거워졌습니다. 하지만 사실 '공간 음향'이 의미하는 것은 매우 다양할 뿐만 아니라 사용할 수 있는 옵션이 너무 많아 어렵게 느껴질 수...

6.8.2019 - 작성자: 네이튼 해리스 (NATHAN HARRIS)

Wwise State-based Mixing의 새로운 기능 - 온갖 파라미터들!

2017.1 이전에는 States 탭에서는 볼륨, 피치, 저역-통과 필터, 하이패스 필터 및 메이크업 게인과 같은 비교적 적은 수의 파라미터에만 액세스할 수...

9.6.2020 - 작성자: Bradley Meyer

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 1부

많은 사운드 디자이너들이 오디오 플러그인 개발을 오디오 프로그래머의 '흑마법' 영역이라 생각합니다. 보통 코딩 기술뿐만 아니라 수학, 물리학, 디지털 신호 처리 등 사운드...

17.11.2020 - 작성자: 천종 호우 (Chenzhong Hou)

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...

5.12.2022 - 작성자: 데이비드 크룩스 (David Crooks)

Wwise 2024.1 새로운 기능

Wwise 2024.1이 출시되었으며 Audiokinetic 런처를 통해 다운받으실 수 있습니다. 이 버전이 제공하는 새로운 기능을 간략하게 소개해드리려고...

8.11.2024 - 작성자: Audiokinetic (오디오키네틱)

ReaWwise를 사용한 ReaScript(Lua)에서의 WAAPI

ReaWwise에서 잘 알려지지 않은 기능 중 하나는 원시적 WAAPI 함수를 REAPER에 노출하여 사용자 정의 ReaScript에서 사용할 수 있다는 것입니다. 이 블로그...

20.11.2024 - 작성자: 앤드류 코스타 (Andrew Costa)

다른 글

잔향도 공간화가 필요합니다: Wwise Spatial Audio의 Room과 Portal 가이드

최근에 공간 음향에 대한 관심이 아주 뜨거워졌습니다. 하지만 사실 '공간 음향'이 의미하는 것은 매우 다양할 뿐만 아니라 사용할 수 있는 옵션이 너무 많아 어렵게 느껴질 수...

Wwise State-based Mixing의 새로운 기능 - 온갖 파라미터들!

2017.1 이전에는 States 탭에서는 볼륨, 피치, 저역-통과 필터, 하이패스 필터 및 메이크업 게인과 같은 비교적 적은 수의 파라미터에만 액세스할 수...

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 1부

많은 사운드 디자이너들이 오디오 플러그인 개발을 오디오 프로그래머의 '흑마법' 영역이라 생각합니다. 보통 코딩 기술뿐만 아니라 수학, 물리학, 디지털 신호 처리 등 사운드...