곡 동기화(S-SYNC) 장치를 사용하여 다른 소스에서 곡을 재생하고, 곡을 패치워크 장치와 동기화할 수 있습니다. 포트나이트 언리얼 에디터에서 작업할 경우, 레벨 시퀀스를 가져온 사운드 데이터와 동기화할 수 있습니다. MIDI 파일을 장치로 가져오면 패치워크 음표 데이터 출력을 생성하여 다른 오디오 또는 이벤트를 제어할 수 있습니다!
사용 가능한 경우:
사전 녹음된 오디오로 가상 콘서트를 설정한 다음, 패치워크를 사용하여 해당 오디오와 동기화된 시청각 효과의 타이밍을 제어합니다.
포트나이트 페스티벌 같은 리듬 액션, 위험과 적군이 음악에 맞춰 움직이는 플랫포머, 선택한 곡에 따라 트랙 레이아웃이 바뀌는 레이싱 게임 등 다양한 음악 게임플레이 경험을 제작해 보세요!
사전 녹음된 보컬 트랙을 재생하고 라이브 패치워크 오디오를 해당 트랙과 믹스합니다.
아래의 동영상에서는 곡 동기화 장치를 사용할 경우의 다양한 미리보기를 제공합니다.
장치 옵션
| 옵션 | 값 | 설명 |
|---|---|---|
1. 스위치 사용 | 켜기, 끄기 | 사용 안 함 상태일 시 장치가 콘텐츠를 재생하거나 음표 데이터를 출력하지 않습니다. |
2. 버튼 확장 | 닫힘, 열림 | 장치를 확장해 더 많은 커스터마이징 옵션을 표시합니다. |
3. 노트 아웃 케이블 | N/A | 노트 아웃 케이블을 노란색 노트 인 포트에 연결합니다. |
4. 재생 시간 카운터 | N/A | 표시된 MIDI 에셋의 현재 재생 시간 및 총 시간, 레벨 시퀀스 또는 동기화된 장치를 표시합니다. |
5. 링크된 곡 동기화 아이콘 | N/A | 다른 곡 동기화 장치가 여기에 연결되어 있는지 나타냅니다. 2가지 상태가 가능합니다.
|
6. 템포 조절 아이콘 | N/A | 템포 조절 재생 행동이 선택되어 있는지 나타냅니다. 4가지 상태가 가능합니다.
|
7. 대상 동기화 표시 | N/A | 장치의 MIDI 에셋을 선택한 경우, 그 이름이 여기에 표시됩니다. 그렇지 않을 경우에는 가장 긴 레벨 시퀀스 또는 동기화된 장치의 이름이 표시됩니다. |
8. 중단 버튼 | N/A | 선택한 트랙의 출력을 종료합니다. 재생이 시작될 때까지 사용 안 함 상태로 설정됩니다. |
9. 재생 버튼 | N/A | MIDI 파일 및 동기화 대상의 재생을 시작합니다. MIDI 또는 동기화 대상이 정의되지 않은 경우 사용 안 함 상태로 설정됩니다. |
UEFN 에디터 옵션
해당 옵션은 UEFN 에디터에만 표시되며, 이 장치가 재생될 때 어떤 에셋을 동기화하여 재생할지 선택할 수 있습니다.
| 옵션 | 설명 |
|---|---|
MIDI 파일 | 장치에서 재생할 UEFN 프로젝트의 MIDI 에셋을 선택합니다. MIDI 데이터를 설정하고 사용하는 방법에 대한 자세한 내용은 아래의 MIDI 파일 항목을 참조하세요. |
레벨 시퀀스 | 장치에서 재생할 UEFN 프로젝트의 레벨 시퀀스를 선택합니다. |
동기화된 장치 | 장치로 재생할 다른 곡 동기화 장치의 수를 선택합니다. 패치워크 도구 또는 이벤트 시스템으로 곡 동기화 장치에서 재생 또는 중단을 트리거하면 이 목록에 있는 모든 장치가 재생 또는 중단됩니다. |
기타 장치 옵션
UEFN 에디터에서 아래의 옵션을 수정할 수 있으나, 제작 모드에서 장치에 다가가 E를 눌러 장치 옵션을 나타내어 옵션을 수정할 수도 있습니다.
| 옵션 | 값 | 설명 |
|---|---|---|
재생 행동 | 템포 조절, 시작부터 재생, 현재 시간부터 재생 |
|
재생 지연 | 없음, 다음 비트, 다음 마디 | 장치가 재생될 경우, 이 옵션은 즉시 시작할지 또는 선택한 양자화된 인터벌에 따라 기다렸다가 재생할지 설정합니다. |
반복 | 없음, MIDI 길이 기준, 시퀀스 길이 기준 | 재생을 루프할지 설정합니다. 루프 길이는 MIDI 파일 또는 레벨 시퀀스에 따라 결정되어야 합니다. 재생 행동 사용자 옵션에서 '템포 조절'을 선택한 경우, 이 장치에서 재생이 반복될 때마다 전체 타임라인이 초기화됩니다. |
MIDI 트랙 | N/A | 선택한 MIDI 파일 내의 트랙을 선택할 수 있습니다. |
MIDI 비트 오프셋 | 기본값: 0 | 음표를 음악 시간보다 빨리/늦게 표시할 수 있도록 하여 포트나이트 페스티벌 대상과 유사한 게임플레이가 재생 전에 음표 길에 나타나도록 할 수 있습니다. 오프셋은 장치의 음표 출력에만 영향을 미칩니다. |
MIDI 밀리초 오프셋 | 기본값: 0 | 비트 오프셋과 동일하지만, 음악 시간보다 실시간이 더 중요한 경우 유용합니다. |
MIDI 시작 시간 | 기본값: 0 | MIDI 재생의 시작 지점을 초 단위로 설정합니다. 모든 동기화 대상은 시작점이 일치하도록 조정됩니다. |
케이블 액세스 허용 | 켜기, 끄기 | 패치워크 도구가 장치의 케이블 입력 또는 출력 포트에 액세스할 수 있는지 설정합니다. |
사용 단계 | 없음, 항상, 게임 시작 전, 게임플레이만 | 장치가 사용 상태로 설정되는 게임 단계를 결정합니다. |
아래의 동영상에서는 곡 동기화 장치를 사용하여 커스텀 오디오를 재생하는 데 필요한 단계를 보여줍니다.
재생 지연
재생 지연은 음악에서 양자화 개념입니다. 음표를 비트에 맞추는 것과 같습니다. 음표가 조금 빨리 또는 늦게 재생되면 양자화는 음표를 가장 가까운 비트나 리듬 스팟으로 옮겨 타이밍의 정확도를 더욱 높입니다. 이렇게 하면 음악이 더욱 시간에 맞는 사운드로 재생되고 정리됩니다.
재생 지연이 없음으로 설정되고 재생 행동이 시작부터 재생으로 설정된 경우, 곡 동기화 장치에서 재생을 누르면 글로벌 타임라인의 측정 수와 상관없이 버튼을 누른 바로 그 순간에 샘플이 시작됩니다.
재생 지연이 다음 비트로 설정되고 재생 행동이 템포 조절로 설정된 경우, 재생을 누르면 다음 비트 시작 시에만 샘플이 시작됩니다. 템포 조절 설정으로 인해 측정 수가 재시작됩니다.
루프
루프는 곡 동기화 장치에 로드된 샘플 및/또는 MIDI 파일을 재생이 끝난 후 처음부터 재시작할지 설정합니다.
루프가 MIDI 길이 기준으로 설정되고 재생 행동이 템포 조절로 설정된 경우, 장치에 로드된 MIDI 파일의 길이는 장치가 루프되는 위치를 설정합니다. 템포 조절 설정으로 인해 측정 수가 재시작됩니다.
루프가 시퀀스 길이 기준으로 설정되고 재생 행동이 템포 조절로 설정된 경우, 장치와 동기화된 레벨 시퀀스의 길이는 장치가 루프되는 위치를 설정합니다.
아래의 동영상에서는 실제 음악 샘플의 맥락에서 양자화 및 루프가 어떻게 작동하는지 설명합니다.
MIDI 파일
곡 동기화 장치를 사용하면 패치워크 노트 시퀀서를 사용하는 것처럼 MIDI 파일을 가져오고 재생할 수 있습니다. 노트 아웃 케이블을 사용할 경우, 곡 동기화를 악기 플레이어 또는 오메가 신시사이저에 패치하여 패치워크를 사용해 MIDI 음표를 재생할 수 있습니다! 또한 곡 동기화 출력을 노트 트리거에 패치하여 MIDI 데이터에 시간이 제한된 이벤트를 구동할 수 있습니다.
일부 디지털 오디오 워크스테이션(DAW)은 MIDI 파일을 내보낼 때 템포 맵이 추가되지 않습니다. 템포 맵이 없는 MIDI 파일은 패치워크 장치의 템포를 조절할 수 없습니다.
아래의 동영상에서는 곡 동기화 장치를 MIDI 파일과 함께 사용하는 방법을 자세히 살펴봅니다.
곡 동기화 장치의 재생 행동이 템포 조절로 설정된 경우, MIDI 파일 템포 맵을 사용하여 패치워크 템포를 설정할 수 있습니다. 최소 패치워크 템포는 60BPM이고 최대는 180BPM입니다. 해당 범위를 벗어난 템포 값은 고정됩니다.
MIDI 파일은 패치워크 키와 모드도 변경할 수 있습니다. 이렇게 하려면 MIDI 파일 에디터를 열고 변경 작업을 수행할 MIDI 시간에 다음과 같은 형식의 텍스트 이벤트를 추가합니다.
key KEY_NAME MODE_NAME
올림음은 #로 표시하고, 내림음은 b로 표시합니다. 현재는 장조 모드와 단조 모드만 지원됩니다. 몇 가지 예시 텍스트 이벤트를 들어보겠습니다.
key F# minorkey Bb major
다이렉트 이벤트 바인딩 시스템
다이렉트 이벤트 바인딩은 장치끼리 직접 소통할 수 있는 시스템으로, 작업 과정이 더 직관적이고 자유도가 높아져 디자인 아이디어에 집중할 수 있습니다.
이 장치의 기능과 이벤트는 다음과 같습니다.
기능
| 옵션 | 장치 선택 | 이벤트 선택 | 설명 |
|---|---|---|---|
재생 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 이벤트 목록을 표시합니다. | 이벤트가 발생하면 장치가 재생됩니다. 장치를 사용 상태로 설정할 수 있는 이벤트가 둘 이상인 경우 추가 버튼을 클릭해 새로운 줄을 추가합니다. |
중지 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 이벤트 목록을 표시합니다. | 이벤트가 발생하면 장치가 중단됩니다. 장치를 사용 상태로 설정할 수 있는 이벤트가 둘 이상인 경우 추가 버튼을 클릭해 새로운 줄을 추가합니다. |
사용 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 이벤트 목록을 표시합니다. | 이벤트가 발생하면 장치가 사용 상태로 설정됩니다. 장치를 사용 상태로 설정할 수 있는 이벤트가 둘 이상인 경우 추가 버튼을 클릭해 새로운 줄을 추가합니다. |
사용 안 함 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 이벤트 목록을 표시합니다. | 이벤트가 발생하면 장치가 사용 안 함 상태로 설정됩니다. 장치를 사용 안 함 상태로 설정할 수 있는 이벤트가 둘 이상인 경우 추가 버튼을 클릭해 새로운 줄을 추가합니다. |
이벤트
| 옵션 | 장치 선택 | 기능 선택 | 설명 |
|---|---|---|---|
재생 시 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 기능 목록을 표시합니다. | 이 장치가 재생되면, 연결된 장치에 신호를 송신합니다. 이 이벤트는 재생 지연 사용자 옵션에 설정된 지연 _후_ 에 발생합니다. |
중단 시 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 기능 목록을 표시합니다. | 이 장치가 중단되면, 연결된 장치에 신호를 송신합니다. |
재생 시작 시 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 기능 목록을 표시합니다. | 재생이 시작되면, 연결된 장치에 신호를 송신합니다. 이는 직접 사용자 상호작용이나 재생 이벤트를 수신하는 이 장치에 의해 트리거될 수 있습니다. 이 이벤트는 재생 재연 사용자 옵션에 설정된 지연 _전_ 에 발생합니다. |
사용 시 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 기능 목록을 표시합니다. | 이 장치가 사용 상태로 설정되면, 연결된 장치에 신호를 송신합니다. |
사용 안 할 시 | 화살표를 클릭해 이용 가능한 장치 목록을 표시합니다. | 화살표를 클릭해 이용 가능한 기능 목록을 표시합니다. | 이 장치가 사용 안 함 상태로 설정되면, 연결된 장치에 신호를 송신합니다. |
Verse에서 곡 동기화 사용
아래 코드로 Verse에서 곡 동기화 장치를 제어할 수 있습니다. 이 코드는 곡 동기화 장치 API의 모든 기능을 사용합니다. 나의 경험에 맞추어 수정하세요.
using { /Fortnite.com/Devices }
using { /Fortnite.com/Devices/Patchwork }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# A Verse-authored creative device that can be placed in a level
song_sync_example := class(creative_device):
@editable
이 코드를 UEFN 경험에서 사용하려면 다음 과정을 따릅니다.
섬에 드럼 시퀀서 장치를 끌어 놓습니다.
song_sync_example이라는 이름의 새 Verse 장치를 생성합니다. Verse에서 새로운 장치를 생성하는 방법은 Verse를 사용하여 나만의 장치 만들기를 참조하세요.
Verse 익스플로러를 열고 song_sync_example.verse를 더블 클릭해 Visual Studio Code에서 스크립트를 엽니다.
위의 코드를 붙여넣고, 컴파일한 뒤 Verse로 작성한 장치를 섬에 끌어 놓습니다.
아웃라이너에서 Verse 장치를 선택합니다.
장치 디테일 패널에서 DrumSequencer의 오브젝트 레퍼런스를 섬의 드럼 시퀀서 장치에 지정합니다. 뷰포트에서 스포이드로 장치를 선택하거나 드롭다운에서 장치를 검색할 수 있습니다.
프로젝트를 저장하고 세션 시작을 클릭합니다.
곡 시퀀서 API
Verse에서 드럼 시퀀서 장치를 사용하는 방법은 song_sync_device API 레퍼런스를 참조하세요.