트랙 종류
이 플러그인은 네 가지 트랙 패러다임을 제공합니다. Event Trigger 트랙은 개별 동작을 발생시키며, 동작 레퍼런스에서 별도로 다룹니다. 이 페이지에서는 나머지 세 가지(Keyframeable, Continuous State, Media Sync)와 공통 트랙 아키텍처 및 섹션 유형을 설명합니다.
트랙 아키텍처
| 패러다임 | 동작 | 사용 사례 |
|---|---|---|
| Event Trigger | 플레이헤드가 섹션 시작 지점을 지날 때 동작 발생 | 개별 명령 (StartRecord, SwitchScene, SaveReplay) |
| Keyframeable | 커브 에디터 키프레임을 통해 값 보간 | 부드러운 애니메이션 (볼륨 페이드, 변형 모션, 색상 변화) |
| Continuous State | 플레이헤드가 섹션 안에 있는 동안 상태 적용 | 일시적 재정의 (섹션 동안 음소거, 표시 여부 강제 설정, 전환 고정) |
| Media Sync | OBS 미디어 커서가 Sequencer 타임라인을 따라 이동 | 동기화된 영상 재생, 스크럽 시 미디어 탐색 |
Keyframeable 속성 트랙
Event Trigger 외에도, 이 플러그인은 OBS 속성을 부드럽게 보간하기 위한 keyframeable 트랙을 지원합니다.
| 트랙 유형 | 속성 | 사용 사례 |
|---|---|---|
| OBS Volume | 볼륨 (dB) | 오디오 페이드, 덕킹, 부드러운 레벨 변경 |
| OBS Balance | 밸런스 (0.0-1.0) | 스테레오 패닝, 좌/우 위치 조정, 입체 오디오 |
| OBS Transform | 위치 X/Y, 스케일 X/Y, 회전, 자르기 L/T/R/B | 소스 애니메이션, 화면 속 화면, 자르기 전환 |
| OBS Filter Setting | 모든 숫자형 필터 속성 | 블러, 색상 보정, 크로마 키 임계값 애니메이션 |
| OBS Transition Duration | 전환 시간 (ms) | 동적 전환 타이밍, 극적인 장면 전환 |
| OBS Color Source | RGBA (채널당 0.0-1.0) | 애니메이션 배경, 색상 워시, 분위기 조명 |
| OBS Media Cursor | 커서 위치 (ms) | 타임라인 동기화, 미디어를 특정 시점으로 스크럽 |
주요 기능
- Unreal의 네이티브 커브 에디터를 사용하여 키프레임 보간을 처리합니다.
- 델타 임계값을 통해 OBS 과부하를 방지합니다(값이 크게 변경될 때만 전송).
- 재생이 중지되면 애니메이션 이전 상태로 복원합니다.
- 트랙별 대상 선택(볼륨/밸런스의 경우 입력 이름, 변형의 경우 장면 + 소스).
참고: 대상(예:
InputName)은 섹션이 아닌 트랙에 설정되므로, keyframeable 트랙의 모든 섹션은 동일한 입력/소스를 대상으로 합니다.
델타 임계값
각 속성에는 반응성과 네트워크 효율성 사이의 균형을 맞추기 위해 조정된 임계값이 있습니다.
| 속성 | 임계값 | 이유 |
|---|---|---|
| 볼륨 | 0.1 dB | 사람의 청각은 0.5dB 미만의 변화를 거의 감지하지 못함 |
| 밸런스 | 0.005 | 범위가 좁아(0.0-1.0) 부드러운 패닝을 위해 높은 정밀도 필요 |
| 위치 | 0.5 px | 서브픽셀 변화는 대부분의 디스플레이에서 보이지 않음 |
| 스케일 | 0.001 | OBS 내부 정밀도와 일치 |
| 회전 | 0.1° | 1도 미만의 변화는 인식 불가 |
| 자르기 | 1 px | 정수 픽셀 단위, OBS에서 서브픽셀 자르기 불가 |
| 필터 설정 | 0.01 | 필터 설정은 민감할 수 있어 정밀도를 위한 작은 임계값 사용 |
| 전환 시간 | 10 ms | 전환 시간 변경은 UI에서 보이는 이산적인 단계 |
| 색상 채널 | 0.004 | ~1/255, 8비트 색상에서 보이는 최소 변화 |
| 미디어 커서 | 16 ms | 60fps 기준 ~1프레임, 인식 불가능한 점프 |
트랙 설정
| 설정 | 기본값 | 설명 |
|---|---|---|
bRestoreStateOnStop | true | 시퀀스 중지 시 원래 OBS 값으로 복원 |
bMuted | false | 키프레임을 삭제하지 않고 트랙 비활성화 |
OBS Filter Setting 트랙
Filter Setting 트랙은 임의의 숫자형 필터 설정을 애니메이션할 수 있는 범용 구현입니다.
| 트랙 속성 | 설명 |
|---|---|
SourceName | 필터가 적용된 OBS 소스(예: “Camera”) |
FilterName | 필터 인스턴스 이름(예: “Color Correction”) |
FilterKind | 선택 사항. 유효성 검사 힌트 활성화(예: “color_filter”) |
SettingName | 애니메이션할 JSON 키(예: “brightness”) |
UI 힌트가 있는 알려진 필터 설정:
- color_filter: brightness, contrast, saturation, gamma, hue_shift, opacity
- chroma_key_filter: similarity, smoothness, spill, opacity
- color_key_filter: similarity, smoothness, opacity
- sharpness_filter: sharpness
- scroll_filter: speed_x, speed_y
- gain_filter: db
- compressor_filter: ratio, threshold, attack_time, release_time, output_gain
- limiter_filter: threshold, release_time
- noise_suppress_filter: suppress_level
- three_band_eq_filter: low_gain, mid_gain, high_gain
알 수 없는 설정도 동작합니다. 트랙은 모든 JSON 키 이름을 허용합니다.
OBS Transition Duration 트랙
현재 전환의 전환 시간(50~20000ms)을 애니메이션합니다. 이 트랙은 현재 활성화된 전환에 항상 영향을 미치므로 별도의 대상 설정이 필요하지 않습니다.
참고: Cut과 같이 전환 시간이 고정된 전환은 시간을 수정할 수 없습니다. 트랙은 경고 로그와 함께 이를 적절히 처리합니다.
Continuous State 트랙
Continuous State 트랙은 플레이헤드가 섹션 안에 있는 동안 고정된 상태를 적용합니다. 섹션 자체에는 키프레임이 없으며, 섹션의 존재 자체가 트리거입니다. 원래 상태는 진입 시 캡처되고 종료 시 복원됩니다.
| 트랙 유형 | 대상 | 적용되는 상태 | 사용 사례 |
|---|---|---|---|
| OBS Mute State | 오디오 입력 | 음소거/음소거 해제 | 컷신 동안 마이크 음소거, 보이스오버를 위한 게임 오디오 음소거 |
| OBS Monitor Type State | 오디오 입력 | 모니터링 유형 (None/MonitorOnly/MonitorAndOutput) | 특정 구간 동안 모니터링 활성화 |
| OBS Visibility State | 장면 + 장면 항목 | 표시/숨김 | 인트로 동안 오버레이 표시, 특정 장면에서 워터마크 숨기기 |
| OBS Lock State | 장면 + 장면 항목 | 잠금/잠금 해제 | 라이브 구간 동안 실수로 이동하는 것 방지 |
| OBS Blend Mode State | 장면 + 장면 항목 | 블렌드 모드 (Normal/Additive/등) | 전환 중 효과 적용 |
| OBS Filter Enabled State | 소스 + 필터 | 활성화/비활성화 | 장면 전환 중 블러 활성화, 색상 보정 토글 |
| OBS Studio Mode State | 전역 | 활성화/비활성화 | 미리보기 구간을 위한 스튜디오 모드 활성화 |
| OBS Transition State | 전환 이름 | 특정 전환 강제 적용 | 특정 장면 전환에 스팅어 전환 사용 |
Keyframeable과의 주요 차이점
- 커브 에디터 없음: 섹션은 “켜짐” 또는 “꺼짐” 상태입니다.
- 상태는 이진값입니다(트랙에 설정된 값 대 원래 값).
- 켜기/끄기 동작의 경우 설정이 더 간단합니다.
- 애니메이션 이전 상태로의 복원이 자동으로 이루어집니다.
Media Sync 트랙
Media Sync 트랙은 OBS 미디어 소스(VLC, Media Source)를 Sequencer 타임라인과 동기화합니다. 다른 트랙과 달리, 재생 상태와 커서 위치를 모두 능동적으로 제어합니다.
트랙 속성
| 속성 | 기본값 | 설명 |
|---|---|---|
InputName | (필수) | 제어할 OBS 미디어 입력 |
bRestoreStateOnStop | true | 시퀀스 중지 시 원래 미디어 상태로 복원 |
bRestoreCursorPosition | true | 시퀀스 중지 시 원래 커서 위치로 복원 |
bMuted | false | 트랙을 삭제하지 않고 동기화 비활성화 |
섹션 속성
| 속성 | 기본값 | 설명 |
|---|---|---|
StartTimeOffsetMs | 0 | 섹션 시작 시 미디어 내 오프셋(예: 5000 = 영상 5초 지점부터 시작) |
bControlPlayback | true | Sequencer 재생/일시 정지가 OBS 재생/일시 정지 제어 |
bSyncOnScrub | true | 타임라인 스크럽 시 OBS 미디어 탐색 |
bLooping | false | 섹션이 미디어 길이보다 긴 경우 미디어 반복 |
ExitBehavior | Pause | 섹션 종료 시 동작 (Pause/Stop/Continue) |
동기화 동작
- Sequencer 재생 시 → OBS 미디어 재생.
- Sequencer 일시 정지 시 → OBS 미디어 일시 정지.
- 스크럽 시 → OBS 미디어가 해당 위치로 탐색.
- 드리프트 보정이 재생 중 자동으로 미디어 동기화를 유지합니다.
사용 사례 예시
- 배경 영상을 게임 시퀀스와 동기화.
- 타임라인의 정확한 위치에서 인트로 영상 재생.
- 편집 중 영상을 스크럽하여 원하는 장면 탐색.
섹션 유형
동작에는 서로 다른 트리거 동작이 있습니다.
| 유형 | 동작 | 예시 |
|---|---|---|
| Instant | 플레이헤드가 섹션 시작 지점을 지날 때 한 번 발생 | StartRecord, SaveReplayBuffer, SplitRecordFile, SaveScreenshot |
| State | 진입 시 발생, 선택적으로 종료 시 되돌리기 가능 | SwitchScene, MuteInput, SetVolume |
State 유형 섹션이 종료 시 어떻게 되돌려지는지에 대한 자세한 내용은 고급 주제 → 종료 동작을 참고하십시오.