# 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 실행 중 ## 🔧 설치 방법 1. **플러그인 설치** ```bash # 플러그인 디렉토리로 이동 cd Streamdeck/com.mirabox.streamingle.sdPlugin # 의존성 설치 npm install ``` 2. **Unity 서버 설정** - Unity 프로젝트에 `StreamDeckServerManager.cs` 스크립트 추가 - Unity에서 플레이 모드 실행 (포트 10701에서 서버 시작) 3. **StreamDeck에서 플러그인 추가** - StreamDeck 앱에서 플러그인 추가 - 카메라 컨트롤러 액션을 스트림덱에 배치 ## 🎮 사용 방법 ### 기본 사용법 1. **Unity 서버 시작**: Unity에서 플레이 모드 실행 2. **StreamDeck 연결**: 카메라 컨트롤러 버튼 클릭 3. **Property Inspector 설정**: 버튼 우클릭 → 설정 4. **카메라 전환**: 드롭다운에서 카메라 선택 또는 버튼 클릭 ### 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 → 플러그인 ```json { "type": "connection_established", "data": { "camera_data": { ... }, "current_camera": { ... } } } ``` #### 플러그인 → Unity ```json { "type": "switch_camera", "data": { "camera_index": 0 } } ``` ## 🐛 문제 해결 ### Unity 연결 안됨 1. Unity 서버가 실행 중인지 확인 (포트 10701) 2. 방화벽 설정 확인 3. Unity 콘솔에서 오류 메시지 확인 ### Property Inspector 업데이트 안됨 1. StreamDeck 앱 재시작 2. 플러그인 재설치 3. 브라우저 개발자 도구에서 오류 확인 ### 카메라 전환 안됨 1. Unity에서 CameraManager 설정 확인 2. 카메라 인덱스 범위 확인 3. 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의 완벽한 연동을 위한 플러그인