Skip to content

Desuq Cafe

Inhyeong OBS WebSocket Client

Fab

Unreal Engine 플러그인 • OBS Studio

OBS Studio를 WebSocket v5 프로토콜로 Unreal Editor에서, 그리고 런타임에서 직접 제어합니다. 조작은 Blueprint 또는 C++로 할 수 있습니다. 엔진 내 이벤트, 게임플레이, Sequencer 타임라인으로 OBS를 구동하고 싶은 스트리머, VTuber, 버추얼 프로덕션 워크플로를 위해 만들어졌으며, 외부 스크립트가 필요 없습니다.

Unreal Engine C++ Blueprint OBS

요구 사항

  • Unreal Engine 5.4 이상
  • obs-websocket 5.x가 활성화된 OBS Studio
  • 일부 기능(예: 녹화 챕터)에는 OBS 30.2 이상이 필요합니다

OBS 완전 제어

엔진에서 OBS의 거의 모든 부분을 구동합니다. 상태 캐시와 실시간 이벤트를 통해 게임이 OBS에 명령을 내리는 것은 물론 OBS에 반응할 수도 있습니다.

  • 장면과 장면 항목
  • 장면 항목의 변형(위치, 스케일, 회전, 자르기, 경계)
  • 녹화, 방송, 가상 카메라
  • Replay Buffer와 인스턴트 리플레이
  • 오디오: 음소거, 볼륨, 밸런스, 동기화 오프셋, 모니터링, 트랙 라우팅
  • 전환과 스튜디오 모드
  • 소스 필터(추가, 제거, 순서 변경, 활성화)
  • 메모리 또는 파일로 스크린샷
  • 입력과 소스, 미디어 재생, 입력 설정

마이크 / 음성 활동 감지

마이크로 OBS를 구동합니다. 말하면 애니메이션이 재생되고 가만히 있으면 대기 상태가 되는, VTuber의 대표적인 루프를 전적으로 엔진 내에서 구현합니다. 플러그인은 입력의 오디오 레벨을 감시하고, 어택과 릴리스 타이밍을 갖춘 디바운스 감지기를 거치므로 짧은 말의 끊김으로 상태가 깜박이지 않습니다. 그리고 입력이 발화 중과 대기의 경계를 넘을 때 이벤트를 발생시킵니다.

노코드 Trigger Volume

액터가 영역에 들어오거나 나갈 때 OBS 동작을 발생시키는, 배치 가능한 액터입니다. 코드가 필요 없습니다. 동작은 조건으로 게이트할 수 있습니다: 녹화 또는 방송 상태, 필수 또는 제외 장면, 음성 활동(지정한 입력이 발화 중인지 대기 중인지), 소스 표시 여부(장면에서 소스가 표시되는지 숨겨지는지). 장면 전환, 리플레이 저장, 오디오 음소거, 필터 토글 등을 할 수 있습니다.

OBS로 보내는 아웃바운드 게임 이벤트

엔진에서 OBS로 네임스페이스가 지정된 커스텀 이벤트로서 구조화된 이벤트를 전송합니다. OBS 측 플러그인과 스크립트, 브라우저 소스 오버레이, 또는 그 밖의 연결된 WebSocket 클라이언트가 이를 수신하고 반응할 수 있으므로, 게임플레이로 오버레이와 OBS 측 자동화를 구동할 수 있습니다.

Sequencer 통합

Unreal의 Level Sequencer에서 OBS를 직접 제어합니다. 프레임 단위로 정확하게, 네 가지 트랙 패러다임에 걸쳐 작동합니다:

Event Trigger

타임라인의 특정 지점에서 발생하는 40가지 이상의 개별 동작(녹화, 방송, 장면 전환, 리플레이 저장 등)

Keyframeable

커브 에디터를 통한 부드러운 보간. 볼륨, 밸런스, 변형, 색상, 필터 설정, 전환 시간, 미디어 커서에 대응합니다.

Continuous State

플레이헤드가 섹션 안에 있는 동안 상태를 유지합니다(음소거, 표시 여부, 잠금, 블렌드 모드, 필터, 스튜디오 모드, 전환).

Media Sync

OBS 미디어 커서가 Sequencer 타임라인을 따라가며 드리프트를 보정합니다.

동작 스로틀링, 중복 제거, 배치 요청, 애니메이션 이전 상태 복원으로 재생이 부드럽고 되돌릴 수 있는 상태로 유지됩니다.

프로덕션 워크플로

Take Recorder Sync

Take Recorder에 맞춰 OBS 녹화를 자동으로 시작하고 중지하며, 표시한 프레임을 챕터로 변환하고, 테이크와 녹화 간의 파일 대응을 로그로 기록합니다.

Request Batching

여러 OBS 명령을 하나의 네트워크 요청으로 전송합니다. 실행 모드는 구성할 수 있습니다.

Persistent Data

OBS 안에 작은 키/값 데이터를 저장하여 재시작 후에도 유지합니다. 전역 또는 프로필별로 범위를 지정할 수 있습니다.

In-Editor Details Panel

실시간 상태 표시기, 장면 브라우저, 오디오 컨트롤, 테스트 컨트롤을 플레이 모드에 들어가지 않고 사용할 수 있습니다.

여러 진입점

사용 사례에 맞는 통합 방식을 선택하세요. 모든 경로는 내부적으로 동일한 OBS 클라이언트와 통신합니다.

OBS Component

아무 Actor에나 추가하고 디테일 패널에서 구성합니다. 코드 없이 완전하게 제어합니다.

Game Subsystem

런타임에 게임 코드 어디에서나 전역으로 접근할 수 있습니다. Blueprint 또는 C++로 사용 가능합니다.

Editor Subsystem

플레이 모드에 들어가지 않고 에디터에서 OBS를 구동합니다.

Trigger Volume

액터가 영역에 들어오거나 나갈 때 OBS 동작을 발생시키는 노코드 액터입니다.

Sequencer Track

레벨 시퀀스에 동기화된 타임라인 기반 제어. 프레임 단위로 정확하게 작동합니다.

제공 상태

Inhyeong OBS WebSocket Client는 Fab에서 출시된 상용 플러그인입니다.

Fab에서 받기

지원

질문, 버그 신고, 기능 요청이 있으신가요? 이메일로 편하게 연락 주시면 답변 드리겠습니다.

문서 를 둘러보거나 개발 로그 를 읽고 이 플러그인이 어떻게 만들어졌는지 배경을 알아볼 수도 있습니다.