사운드스케이프 퀵스타트

사운드스케이프 에디터를 시작하기 위한 퀵스타트 가이드입니다.

사운드스케이프(Soundscape) 는 플레이어가 월드 안에서 움직일 때 스트리밍되는 앰비언트 사운드를 프로시저럴하게 생성합니다. 플러그인을 설정하면 이러한 사운드 시스템이 자동으로 관리되고 구성되므로 수동으로 생성할 필요가 없어집니다.

이 가이드에서는 기본 사운드스케이프를 설정하는 방법을 알아봅니다.

전제조건

Soundscape Plugin

  • 사운드스케이프 플러그인은 기본적으로 비활성화되어 있습니다. 활성화하려면 편집(Edit) > 플러그인(Plugins) 을 선택하여 플러그인(Plugin) 패널을 열고 검색 바에서 플러그인을 찾은 다음 해당되는 체크박스를 클릭합니다.

  • 삼인칭 템플릿 등 이동을 지원하는 플레이어 캐릭터 가 있는 프로젝트가 필요합니다.

  • 또한 프로젝트에 사운드 웨이브(Sound Wave) 에셋이 있어야 합니다. 사운드 웨이드 생성 방법에 대한 자세한 내용은 사운드 웨이브를 참고하세요.

    • (선택적) 사운드스케이프는 3D 공간에 사운드를 구성하므로, 사운드 웨이브에 어테뉴에이션 세팅(Attenuation Settings) 을 사용하면 결과가 더욱 공간화됩니다. 공간화에 대한 자세한 내용은 공간화 및 사운드 어테뉴에이션을 참고하세요.

1 - 사운드스케이프 상태 데이터 테이블 생성

사운드스케이프는 게임플레이 태그(Gameplay Tags) 를 상태로 사용합니다. 블루프린트 또는 C++를 사용해 이러한 상태를 제어할 수 있으며, 사운드스케이프는 설정한 조건에 자동으로 반응합니다.

  1. 데이터 테이블 에셋을 생성하려면 콘텐츠 추가(Add Content) 를 클릭하거나 콘텐츠 브라우저 에서 빈 공간을 우클릭하고 기타(Miscellaneous) > 데이터 테이블(Data Table) 을 선택합니다. 행 구조체 선택(Pick Row Structure) 창이 표시됩니다.

    Create Data Table

  2. 드롭다운에서 GameplayTagTableRow 를 선택합니다.

    Set Gameplay Tag Structure

  3. 확인(Ok) 을 클릭합니다.

  4. 데이터 테이블 이름으로 ‘SoundscapeStates'를 입력합니다.

  5. 새 데이터 테이블 에셋을 우클릭하고 컨텍스트 메뉴에서 편집(Edit) 을 선택합니다. 새 데이터 테이블 에디터(Data Table Editor) 창이 나타납니다.

    Add Gameplay Tag

  6. 추가(Add) 를 클릭하여 새 게임플레이 태그를 생성합니다.

  7. 열 에디터(Row Editor) 패널에서 Tag 를 ‘Soundscape.Active'로 변경합니다.

  8. 데이터 테이블을 저장합니다.

2 - 프로젝트 세팅에 데이터 테이블 추가

게임플레이 태그를 프로젝트 세팅의 중앙 태그 딕셔너리에 추가해야 엔진이 인식할 수 있습니다. 게임플레이 태그에 대한 자세한 내용은 게임플레이 태그를 참고하세요.

  1. 편집(Edit) > 프로젝트 세팅(Project Settings)... 으로 이동하여 프로젝트 세팅 패널을 엽니다.

  2. 패널 왼쪽에서 프로젝트(Project) 헤딩 아래의 GameplayTags 를 클릭합니다.

  3. 게임플레이 태그 테이블 목록(Gameplay Tag Table List)엘리먼트 추가(Add Element) 를 클릭합니다.

  4. 인덱스(Index) [0] 드롭다운을 클릭하고 앞서 생성한 SoundscapeStates 데이터 테이블을 선택합니다. 이제 Soundscape.Active 상태가 게임플레이 태그 목록(Gameplay Tag List) 에 표시됩니다.

    Add Table to Project Settings

3 - 사운드스케이프 팔레트 및 컬러 생성

사운드스케이프 시스템을 주도하는 에셋에는 두 가지 타입이 있습니다. 팔레트(Palettes)컬러(Colors) 에셋입니다. 사운드스케이프 컬러(Soundscape Color)에는 사운드 에셋 레퍼런스와 사운드 재생 방식을 제어하는 행동 프로퍼티가 포함됩니다. 사운드스케이프 팔레트(Soundscape Palette)에는 컬러 레퍼런스와 팔레트의 활성화 시기를 제어하는 재생 조건이 포함됩니다.

  1. 사운드스케이프 팔레트 에셋을 생성하려면 콘텐츠 추가(Add Content) 를 클릭하거나 콘텐츠 브라우저 에서 빈 공간을 우클릭하고 사운드(Sounds) > 사운드스케이프(Soundscape) > 사운드스케이프 팔레트(Soundscape Palette) 를 선택합니다.

    Create Soundscape Palette

  2. 원하는 팔레트 이름을 입력합니다. 일반적으로 이 이름은 팔레트를 활성화하는 조건을 반영해야 합니다.

  3. 사운드스케이프 컬러 에셋을 생성하려면 콘텐츠 추가(Add Content) 를 클릭하거나 콘텐츠 브라우저 에서 빈 공간을 우클릭하고 사운드(Sounds) > 사운드스케이프(Soundscape) > 사운드스케이프 컬러(Soundscape Color) 를 선택합니다.

  4. 원하는 컬러 이름을 입력합니다. 일반적으로 이 이름은 컬러가 재생할 사운드의 내용을 반영해야 합니다.

4 - 프로젝트 세팅에 팔레트 추가

사운드스케이프를 프로젝트 세팅의 사운드스케이프 팔레트 컬렉션(Soundscape Palette Collection) 에 추가해야 엔진이 인식할 수 있습니다.

  1. 편집(Edit) > 프로젝트 세팅(Project Settings)... 으로 이동하여 프로젝트 세팅 패널을 엽니다.

  2. 패널 왼쪽에서 게임(Game) 헤딩 아래의 사운드스케이프(Soundscape) 를 클릭합니다.

  3. 사운드스케이프 팔레트 컬렉션(Soundscape Palette Collection)엘리먼트 추가(Add Element) 를 클릭합니다.

  4. 드롭다운을 클릭하여 앞서 생성한 사운드스케이프 팔레트를 선택합니다.

    Add Soundscape Palette to Project Settings

5 - 팔레트 설정

팔레트가 컬렉션에 있더라도 환경설정해야 합니다.

  1. 콘텐츠 브라우저 에서 사운드스케이프 팔레트(Soundscape Palette) 를 더블클릭하여 디테일** 패널을 엽니다.

  2. Soundscape Palette Playback Conditions 옆의 편집(Edit) 을 클릭합니다. 새 태그 에디터(Tag Editor) 창이 나타납니다.

  3. 루트 표현식(Root Expression) 드롭다운을 클릭하고 All Tags Match 를 선택합니다. 새 태그(Tags) 엔트리가 나타납니다.

  4. 태그(Tags) 드롭다운을 클릭하고 Soundscape.Active 를 선택합니다.

  5. 태그 에디터(Tag Editor) 창 왼쪽 상단의 저장하고 닫기(Save and Close) 를 클릭합니다.

    Playback Conditions Setup

  6. Colors**의 엘리먼트 추가(Add Element)** 를 클릭합니다.

  7. 인덱스(Index) [0] 왼쪽의 화살표를 클릭하여 해당 섹션을 펼칩니다.

  8. Soundscape Color 드롭다운을 클릭하고 인덱스 [0] 에서 앞서 생성한 사운드스케이프 팔레트를 선택합니다.

  9. 사운드스케이프 팔레트를 저장합니다.

    Soundscape Palette Setup

6 - 컬러 설정

이제 팔레트에 컬러가 생겼으니, 컬러에 사운드와 비헤이비어를 추가하겠습니다.

  1. 콘텐츠 브라우저 에서 사운드스케이프 컬러(Soundscape Color) 를 더블클릭하여 디테일 패널을 엽니다.

  2. 사운드스케이프(Soundscape) > Color > Sound 드롭다운을 선택하고 재생할 사운드 웨이브 에셋을 선택합니다.

    Soundscape Color Setup - 1

  3. Modulation Behavior > Randomize Pitch 체크박스를 활성화합니다. 그러면 사운드를 재생할 때마다 피치가 랜덤화됩니다.

  4. Spawn Behavior > Continuously Respawn 체크박스를 활성화합니다. 그러면 사운드가 계속 생성됩니다.

  5. Spawn Behavior > Max Spawn Distance 에 50.0을 입력합니다. 그러면 사운드가 듣는 사람에게 더 가깝게 생성됩니다.

  6. 사운드스케이프 컬러를 저장합니다.

    Soundscape Color Setup - 2

7 - 트리거 볼륨 배치

컬러 내의 사운드는 팔레트 조건이 충족되면 재생됩니다. 조건은 게임플레이 태그 Soundscape.Active 가 설정되면 충족됩니다. 블루프린트 또는 C++를 사용하여 상태를 원하는 대로 설정할 수 있지만, 이 가이드에서는 레벨 블루프린트트리거 볼륨 을 사용하여 레벨 내에서 사운드스케이프를 재생할 영역을 정의하겠습니다.

  1. 액터 배치(Place Actors) 패널을 사용하거나 레벨 에디터 툴바 에서 빠른 추가 를 클릭하고 볼륨(Volumes) > 트리거 볼륨(Trigger Volume) 을 선택하여 레벨에 트리거 볼륨을 배치합니다.

    Place Trigger Volume

  2. 레벨 내에서 트리거 볼륨의 위치, 크기, 셰이프를 조정하여 캐릭터가 안팎으로 움직일 수 있게 합니다.

    Trigger Volume

8 - 블루프린트 설정

  1. 트리거 볼륨을 선택합니다.

  2. 레벨 에디터 툴바 에서 블루프린트(Blueprint) 버튼을 클릭하고 레벨 블루프린트 열기(Open Level Blueprint) 를 선택합니다.

    Open Level Blueprint

  3. 그래프에서 빈 공간을 우클릭하여 트리거 볼륨에 On Actor Begin Overlap 노드를 추가합니다.

  4. 그래프에서 빈 공간을 우클릭하여 트리거 볼륨에 On Actor End Overlap 노드를 추가합니다.

  5. 그래프에서 빈 공간을 우클릭하여 Get SoundscapeSubsystem 노드를 추가합니다.

  6. Soundscape Subsystem 의 핀 연결을 그래프의 빈 공간으로 드래그하여 연결된 Set State 노드를 추가합니다.

  7. Soundscape Subsystem 의 핀 연결을 그래프의 빈 공간으로 드래그하여 연결된 Clear State 노드를 추가합니다.

  8. 액터 오버랩 시작 시(On Actor Begin Overlap) 노드의 실행 핀을 Set State 노드에 연결합니다.

  9. On Actor End Overlap 노드의 실행 핀을 Clear State 노드에 연결합니다.

  10. 레벨 블루프린트를 저장합니다.

    Blueprint Setup

9 - 결과 듣기

  1. 레벨 에디터 툴바(Level Editor Toolbar) 에서 레벨 플레이(Play Level) 버튼을 클릭합니다.

  2. 캐릭터를 트리거 볼륨으로 움직인 다음 멈춥니다.

  3. 새 사운드스케이프를 듣습니다!

사운드스케이프를 계속 개발하는 데는 다음 콘솔 명령들이 유용할 것입니다.

  • au.debug.sounds 1 : 레벨 내 모든 활성 사운드의 목록과 관련 정보를 뷰포트에 표시합니다.

  • au.3dVisualize.Enabled 1 : 활성 사운드의 위치를 3D 스페이스에 표시합니다.

오디오 콘솔 명령에 대한 자세한 내용은 오디오 콘솔 명령을 참고하세요.

Soundscape Quick Start Result

10 - 직접 해보기

기본 사운드스케이프를 생성했으니, 이를 바탕으로 더 발전시켜 보세요.

다음과 같은 작업을 직접 해 보세요.

  • SoundscapeStates를 더 생성하여 레벨 내에서 추가 조건 지원

  • 블루프린트 또는 C++를 사용하여 하루의 시간 등 다른 앰비언트 상황에 대한 추가 로직 스크립팅

  • 컬러와 팔레트의 디테일을 조작하여 행동 변경

  • 팔레트에 컬러를 더 추가하여 추가 사운드 레이어링

  • 사운드스케이프에 팔레트를 더 추가하여 그 자체로 사용하거나 기존 팔레트에 레이어링

  • 컬러에 사운드 웨이브 대신 메타사운드 소스 사용. 자세한 내용은 메타사운드를 참고하세요.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소