Streamingle Camera Controller Plugin
Unity와 StreamDeck 간의 실시간 카메라 제어 플러그인입니다.
🚀 주요 기능
- 실시간 Unity 연결: WebSocket을 통한 Unity 서버와의 실시간 통신
- 카메라 제어: StreamDeck 버튼으로 Unity 카메라 전환
- Property Inspector: 실시간 연결 상태 및 카메라 목록 표시
- 자동 재연결: 연결 끊김 시 자동 재연결
- 다국어 지원: 한국어 UI
📋 요구사항
- StreamDeck: 3.10.188.226 이상
- Unity: URP (Universal Render Pipeline)
- Node.js: 20.x 이상
- Unity 서버: StreamDeckServerManager.cs 실행 중
🔧 설치 방법
-
플러그인 설치
# 플러그인 디렉토리로 이동 cd Streamdeck/com.mirabox.streamingle.sdPlugin # 의존성 설치 npm install -
Unity 서버 설정
- Unity 프로젝트에
StreamDeckServerManager.cs스크립트 추가 - Unity에서 플레이 모드 실행 (포트 10701에서 서버 시작)
- Unity 프로젝트에
-
StreamDeck에서 플러그인 추가
- StreamDeck 앱에서 플러그인 추가
- 카메라 컨트롤러 액션을 스트림덱에 배치
🎮 사용 방법
기본 사용법
- Unity 서버 시작: Unity에서 플레이 모드 실행
- StreamDeck 연결: 카메라 컨트롤러 버튼 클릭
- Property Inspector 설정: 버튼 우클릭 → 설정
- 카메라 전환: 드롭다운에서 카메라 선택 또는 버튼 클릭
Property Inspector 기능
- 연결 상태: Unity 서버 연결 상태 실시간 표시
- 카메라 선택: 사용 가능한 카메라 목록에서 선택
- 자동 전환: 드롭다운 변경 시 즉시 카메라 전환
- 수동 전환: 버튼 클릭으로 선택한 카메라로 전환
- 새로고침: 카메라 목록 새로고침
🔧 개발자 정보
프로젝트 구조
com.mirabox.streamingle.sdPlugin/
├── plugin/
│ └── index.js # 메인 플러그인 코드
├── propertyInspector/
│ └── camera/
│ ├── index.html # Property Inspector UI
│ └── index.js # Property Inspector 로직
├── manifest.json # 플러그인 매니페스트
└── package.json # 프로젝트 설정
주요 파일 설명
plugin/index.js
- WebSocket 클라이언트 (Unity 서버 연결)
- StreamDeck 액션 처리
- Property Inspector와의 통신
- 자동 재연결 로직
propertyInspector/camera/index.js
- Property Inspector UI 로직
- 플러그인과의 양방향 통신
- 실시간 상태 업데이트
통신 프로토콜
Unity → 플러그인
{
"type": "connection_established",
"data": {
"camera_data": { ... },
"current_camera": { ... }
}
}
플러그인 → Unity
{
"type": "switch_camera",
"data": {
"camera_index": 0
}
}
🐛 문제 해결
Unity 연결 안됨
- Unity 서버가 실행 중인지 확인 (포트 10701)
- 방화벽 설정 확인
- Unity 콘솔에서 오류 메시지 확인
Property Inspector 업데이트 안됨
- StreamDeck 앱 재시작
- 플러그인 재설치
- 브라우저 개발자 도구에서 오류 확인
카메라 전환 안됨
- Unity에서 CameraManager 설정 확인
- 카메라 인덱스 범위 확인
- Unity 콘솔에서 오류 메시지 확인
📝 로그 확인
플러그인 로그는 다음 위치에서 확인할 수 있습니다:
- 플러그인 로그:
streamingle.log - 빌드 로그:
build.log - Unity 콘솔: Unity 에디터 콘솔
🔄 업데이트 내역
v2.0.0 (현재)
- 완전히 새로 설계된 구조
- weather 플러그인 구조 참고
- context 기반 데이터 관리
- 향상된 Property Inspector UI
- 자동 재연결 메커니즘 개선
v1.0.0
- 초기 버전
- 기본 카메라 제어 기능
📄 라이선스
MIT License
🤝 기여하기
버그 리포트나 기능 요청은 GitHub Issues를 통해 제출해주세요.
Streamingle Team - Unity와 StreamDeck의 완벽한 연동을 위한 플러그인