Unreal Engine에서 Wwise 사운드를 재생하는 방법

Wwise에 대한 팁과 도구

Wwise에는 수많은 기능이 있습니다. 하지만 개발 초기에는 사용법에 대한 충분한 정보가 없을 경우 제대로 작동하지 않을 수 있죠. 저는 초기의 몇 가지 삐걱거림 때문에 Wwise가 사용하기 어렵다고 생각하지 않으셨으면 좋겠다는 마음으로, 여러분께 여기 설명된 단계대로 하면 실패없이 작동할 수 있는 과정을 소개해드리려고 합니다.

이 첫 번째 블로그 글에서는 Unreal Engine으로 사운드를 재생하는 법을 소개해드리려고 합니다.

이 과정이 작동하는지 검토한 버전은 다음과 같습니다.

  • Wwise 2023.1.1.8417
  • Unreal Engine 5.3.2

다른 버전을 사용할 경우 작동 방식이 다를 수 있습니다.

 

목차

프로젝트 생성하기
    Unreal 프로젝트 생성하기
    Unreal 통합 통합하기
    Wwise 초기 구성
    Unreal 초기 구성
Wwise 프로젝트에서 사운드 등록하기
UAsset 생성하기
Blueprint에서 사운드 재생하기
마치는 말
부록 - 샘플 폴더 구성
    Unreal 프로젝트에 모든 내용 넣기
    Wwise 프로젝트를 Unreal 프로젝트 밖에 놓기
부록 - UAsset 생성 방법
부록 – 사운드를 재생하는 빠른 방법
    AkAmbientSound를 사용하여 사운드 재생하기
    BluePrint를 사용하여 사운드 재생하기
    C++를 사용하여 사운드 재생하기

 

프로젝트 생성하기

Unreal 프로젝트 생성하기

1. Unreal Engine을 열고 'GAMES – Third Person'을 선택합니다.
2. 프로젝트 이름을 지정합니다.
• 제 예시에서는 프로젝트의 이름을 'ThirdPerson_Tutorial'로 지정했습니다.
3. Create 버튼을 클릭하여 새로운 프로젝트를 생성합니다.
4. 프로젝트를 생성하면 Unreal Engine 에디터 뷰가 열리는데, 일단 이 뷰를 닫습니다.

01_Unreal_Create_Project

 

Unreal 통합 통합하기

1. Audiokinetic 런처를 열고 Unreal 탭을 엽니다.
2. 방금 생성한 'ThirdPerson_Tutorial' 프로젝트의 'Integrate Wwise in Project…' 버튼을 클릭합니다.

02_Integrate_Wwise

3. 통합하려는 플랫폼을 확인합니다.
4. Wwise 프로젝트 경로를 지정하지 않으면 Unreal 프로젝트 아래 Wwise 프로젝트가 자동 생성됩니다.
• Wwise 프로젝트를 이미 다른 곳에 생성했을 경우 여기에 지정해서 사용하세요.
5. Integrate 버튼을 클릭합니다.

03_Integrate_Wwise_Menu

6. 이제 통합이 완료되었습니다.
7. 다음으로 Wwise 프로젝트를 업데이트하기 위해서 Open in Wwise - Wwise 2023.1.1.8417을 클릭합니다.

04_Open_in_Wwise

 

Wwise 초기 구성

1. Project – Project Settings – SoundBanks로 가서 'Enable Auto Defined SoundBanks'를 선택합니다.
2. Wwise 프로젝트를 저장하고 Unreal Engine을 다시 엽니다.

05_Wwise_Initial_Settings

 

Unreal 초기 구성

1. Edit – Project Settings…를 엽니다.
2. Wwise – User Settings – WAAPI로 가서 'Auto Connect to WAAPI'를 활성화합니다.

06_Unreal_Initial_Settings_1

3. Wwise – Integration Settings – Installation – Root Output Path로 가서 Wwise 프로젝트의 'GeneratedSoundBanks' 폴더를 지정합니다.
• 이 입력란을 비워둘 경우 Content 폴더를 참조하게 되며 사운드를 올바르게 재생할 수 없게 됩니다.

07_Unreal_Initial_Settings_2

4. Unreal Engine을 열면 Wwise Authoring Tool이 'External Project Changes' 경고 메시지를 표시합니다. Reload 버튼을 클릭합니다.

08_Unreal_Initial_Settings_3

5. Wwise Browser에 SoundBank 메타데이터를 찾을 수 없다는 경고가 표시됩니다. 걱정하지 말고 'Generate SoundBanks…' 버튼을 클릭합니다.

09_Unreal_Initial_Settings_4

6. 'Generate SoundBanks' 대화 상자에서 Generate 버튼을 클릭하여 SoundBank가 생성되고 디렉터리 구성이 Wwise Browser에 표시되도록 합니다.

10_Unreal_Initial_Settings_5

 

Wwise 프로젝트에서 사운드 등록하기

이제 환경음을 재생해봅시다.
IntegrationDemo 폴더에 있는 사운드를 사용해보겠습니다.
•<Wwise>\SDK\samples\IntegrationDemo\WwiseProject\Originals\SFX

1. 해당 폴더에서 waves.wav 파일을 드래그하여 Actor-Mixer Hierarchy의 Default Work Unit에 놓습니다. 'Audio File Importer' 대화 상자가 열립니다.

11_Register_Assets_1

2. Import 버튼을 클릭합니다. 해당 사운드가 'waves'라는 Sound SFX로 등록됩니다.

12_Register_Assets_2

3. Project Explorer에서 방금 등록한 'waves' Sound SFX를 선택하여 오른쪽에 해당 오브젝트에 대한 정보가 표시되도록 합니다.

13_Register_Assets_3

4. General Settings 탭에는 Loop 설정이 있습니다. 이를 활성화합니다.

14_Register_Assets_4

5. 'waves' Sound SFX를 우클릭하고 메뉴에서 다음 Event를 생성합니다.
•Play_waves: 'waves' Sound SFX를 재생합니다.
•Stop_waves: 'waves' Sound SFX를 중단합니다.

15_Register_Assets_5

6. 다음 단계를 완료한 후 Wwise 프로젝트를 저장하고 Unreal Engine을 다시 엽니다.

 

UAsset 생성하기

사운드를 재생하려면 Unreal Engine 에셋, 혹은 UAsset을 생성해야 합니다.
이 에셋을 생성하는 방법은 여러 가지가 있지만, 여기에서는 Reconcile을 사용하여 생성하는 방법을 보여드리겠습니다.

1. 먼저 추가한 Event가 들어 있는 SoundBank를 생성합니다..

16_Create_UAssets_1

2. 다음으로 Wwise Browser에서 Reconcile 버튼을 클릭합니다.

17_Create_UAssets_2

3. 'UAsset Operation'이 'Create'로 설정되었는지 확인한 후 'Reconcile Unreal Assets' 버튼을 클릭합니다.

18_Create_UAssets_3

4. UAsset이 생성되었습니다. Wwise Browser에서 'Wwise UAssets Status' 열을 선택합니다.

19_Create_UAssets_4

 

Blueprint에서 사운드 재생하기

이 글에서는 Blueprint에서 사운드를 재생하는 방법을 보여드리겠습니다.

1. 메뉴에서 'Open Level Blueprint'를 선택합니다.

20_Play_by_BluePrint_1

2. Blueprint를 우클릭하여 BeginPlay 이벤트를 생성합니다.

21_Play_by_BluePrint_2

3. BeginPlay 이벤트에서 커넥터를 드래그하여 PostEvent 노드를 생성합니다.

22_Play_by_BluePrint_3

4. 'Ak Event'에서 Play_waves를 설정합니다.

23_Play_by_BluePrint_4

5. 컴파일링합니다.

24_Play_by_BluePrint_5

6. 아무것도 변경하지 않고 Play 버튼을 클릭합니다.

25_Play_by_BluePrint_6

7. 이제 파도 소리가 들릴 것입니다!

26_Play_by_BluePrint_7

 

끝맺는 말

저는 다음 단계를 직접 수행해서 이 방법이 제대로 작동하는지 확인했습니다. 하지만 일부 단계나 스크린샷은 추후 버전 업그레이드로 인해 바뀔 수 있기 때문에 여기서 설명한 것과 작동 방식이 다를 경우 댓글 섹션을 통해 알려주세요.
또한 읽고 싶은 다른 내용이 있다면 댓글에 적어주세요.

 

부록 - 샘플 폴더 구성

Unreal 프로젝트에 모든 내용 넣기

'Generated SoundBanks' 폴더를 Wwise 프로젝트 안에 넣고 전체 Wwise 프로젝트를 Unreal 프로젝트 안에 배치할 수 있습니다.

27_Wwise_in_Unreal

  • 장점: 모든 내용이 한 폴더/저장소에 저장됩니다.
• 단점: 사운드 디자이너가 아닌 사람들도 Wwise 프로젝트를 다운로드해야 합니다 (다만 Wwise 저작 도구는 필요하지 않습니다).

 

Wwise 프로젝트를 Unreal 프로젝트 밖에 놓기

'Generated SoundBanks' 폴더를 Unreal 프로젝트 안에 놓고 Wwise 프로젝트는 Unreal 프로젝트 밖에 배치할 수 있습니다.

28_Wwise_outside_Unreal

  • 장점: 사운드 디자이너가 아닌 사람들이 Wwise 프로젝트를 다운로드할 필요 없습니다.
• 단점: 모든 내용이 여러 폴더/저장소로 나뉩니다.
*팁: 이 설정을 Unreal 에디터에서 실행하기 위해 필요한 최소 구성은 'Generated SoundBanks'에 있는 파일과 Windows 폴더입니다.

 

부록 - UAsset 생성 방법

A) Wwise Browser에서 Event를 콘텐츠 브라우저로 드래그하여 놓습니다.

29_Create_UAssets_1

B) 우클릭하고 메뉴에서 'Import Selected Assets'를 선택합니다.
• 여러 Event나 폴더를 지정할 수 있습니다.

30_Create_UAssets_2

C) 또한 Wwise Browser에서 액터 속성이나 대상 Blueprint 컴포넌트로 Event를 드래그하여 놓아서 UAsset을 생성할 수 있습니다.

31_Create_UAssets_3

32_Create_UAssets_4

D) Event의 경우에만 Wwise Browser에서 뷰포트로 드래그하여 UAsset과 AkComponent를 동시에 생성할 수 있습니다.

33_Create_UAssets_5

CD 단계를 실행하면 UAsset이 Edit - Project Setting – Wwise – Integration Settings – Asset Creation – Default Asset Creation Path에 지정된 위치에 생성됩니다.

34_Create_UAssets_6

 

부록 – 사운드를 재생하는 빠른 방법

AkAmbientSound를 사용하여 사운드 재생하기

1. AkAmbientSound 액터를 배치합니다.

35_Play_by_AkAmbientSound_1

2. AkEvent에서 재생하고자 하는 이벤트를 설정합니다.

36_Play_by_AkAmbientSound_2

3. 'Auto Post'를 활성화합니다.

37_Play_by_AkAmbientSound_3

4. 'Obstruction Occlusion - Refresh Interval'을 0.0으로 설정합니다.

38_Play_by_AkAmbientSound_4

 

Blueprint를 사용하여 사운드 재생하기

1. 'Open Level Blueprint'를 선택합니다.

39_Play_by_BluePrint_1

2. BeginPlay 이벤트를 생성합니다.

40_Play_by_BluePrint_2

3. BeginPlay에서 Post Event 노드를 생성합니다.

41_Play_by_BluePrint_3

4. Post Event의 AkEvent에서 재생하고자 하는 이벤트를 설정합니다.

42_Play_by_BluePrint_4

 

C++를 사용하여 사운드 재생하기

AkAudioEvent.h에서 정의된 UAkAudioEvent 메소드를 사용하여 이벤트를 발송할 수 있습니다.

1. 지정된 Actor/Component/GameObject로 Event를 발송할 수 있습니다.

  • AkPlayingID UakAudioEvent::PostOnActor()
  • AkPlayingID UakAudioEvent::PostOnActorAndWait()
  • AkPlayingID UakAudioEvent::PostOnComponent()
  • AkPlayingID UakAudioEvent::PostOnComponentAndWait()
  • AkPlayingID UakAudioEvent::PostOnGameObject()
  • AkPlayingID UakAudioEvent::PostOnGameObjectAndWait()
  • AkPlayingID UakAudioEvent::PostOnGameObjectID()

2. 모의의 GameObject를 사용할 수 있습니다.

  • AkPlayingID UakAudioEvent::PostAtLocation ()
  • AkPlayingID UakAudioEvent::PostAmbient()

3. APIs that manage data loading:

  • void UakAudioEvent::LoadData()
  • void UakAudioEvent::UnloadData()
  • bool UakAudioEvent::IsDataFullyLoaded()
  • bool UakAudioEvent::IsLoaded()

히로시 고다 (Hiroshi Goda)

히로시 고다 (Hiroshi Goda)

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

댓글

댓글 달기

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

다른 글

Wwise 2021.1 새롭게 제공되는 것들

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

11.3.2021 - 작성자: Audiokinetic

Wwise+GME 게임 음성 솔루션: 다양한 음성 플레이 대방출, 생생한 몰입감 선사

AppAnnie2021 모바일 게임 리포트는 강력한 소셜 인터랙션 속성을 가진 배틀 그라운드, 슈팅 및 온라인 MOBA가 플레이어들의 사랑을 많이 받았으며 게임 시간 증가를...

13.1.2022 - 작성자: Tencent Cloud

Wwise 2022.1 Unreal 통합 변경 사항

Wwise 2022.1 Unreal 통합 안내 이 버전은 Wwise Unreal 통합의 주요 이정표입니다. Unreal 엔진 5가 엔진을 새로운 차원으로 이끌어주듯이...

9.9.2022 - 작성자: 미셸 도네 (Michel Donais)

Wwise 2023.1 새로운 기능

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

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

WAQL 2.0

Wwise Authoring Query Language (WAQL, 와클) 첫 번째 버전이 출시된 지 벌써 몇 년이 지났습니다. 첫 버전 이후 크게 변경된 점은 없습니다. 가장...

10.8.2023 - 작성자: 베르나르 로드리그 (Bernard Rodrigue)

올바른 코덱 선택에 대한 안내

게임 오디오에서는 항상 오디오 파일을 압축해야 했습니다. 우리가 꿈꾸는 그대로의 오디오 환경을 모두 압축되지 않은 오디오 샘플로 두기에는 여전히 디스크 공간이나 메모리가 부족하다는...

14.5.2024 - 작성자: 마튜 장 (Mathieu Jean)

다른 글

Wwise 2021.1 새롭게 제공되는 것들

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

Wwise+GME 게임 음성 솔루션: 다양한 음성 플레이 대방출, 생생한 몰입감 선사

AppAnnie2021 모바일 게임 리포트는 강력한 소셜 인터랙션 속성을 가진 배틀 그라운드, 슈팅 및 온라인 MOBA가 플레이어들의 사랑을 많이 받았으며 게임 시간 증가를...

Wwise 2022.1 Unreal 통합 변경 사항

Wwise 2022.1 Unreal 통합 안내 이 버전은 Wwise Unreal 통합의 주요 이정표입니다. Unreal 엔진 5가 엔진을 새로운 차원으로 이끌어주듯이...