- RenderStreamOutput 을 URP 17 RenderGraph API 로 마이그레이션
(옛 Execute() 도 Compatibility Mode 호환용으로 유지)
- 알파 합성 셰이더 신규: Pre/Post 비교(블룸/글로우) + NiloToon Prepass G + 가우시안 블러
- 알파 채널 별도 Spout 송신 추가 ("Streamingle Spout Alpha Output")
- 그레이스케일 RGB 마스크, A=1
- spout_ndi_normalizer.exe 외부 프로세스 자동 실행/종료 (SpoutNdiLauncher 병합)
- Display 드롭다운 / Vsync / AlwaysOnTop / HideCursor / Realtime / NoActivate 옵션
- exe 가 있으면 강제 종료 후 단일 인스턴스 보장
- 내부 옵션(exe 경로, window size 등)은 [HideInInspector]
- ScreenshotManager 가 RenderStreamOutput 의 합성 결과를 그대로 PNG 저장
- 자체 카메라 렌더/셰이더 관리 제거 → 알파 품질 라이브 출력과 동일
- captureWidth/Height 지정 시 한 프레임 임시 고해상도 렌더 후 원복
- spout_ndi_normalizer.exe 위치: Resources → StreamingAssets/SpoutNdiNormalizer
- URP Asset: Allow Post Process Alpha Output 활성화
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Initialize 시 transform.localScale을 Vector3.one으로 강제
- 비-1 scale prefab의 경우 LogWarning 출력
- avatarScale=1이 모든 캐릭터에서 일관되게 시각적 1배를 의미
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- AvatarOutfitController: 의상 변경 시 NiloToon renderCharacter 토글 + VFX/SFX/컬러 플래시 연출
- TransformEffectPreset ScriptableObject 로 프리셋 공유
- 아바타별 isTransforming 플래그로 동시 변신 지원
- 의상 리스트 순서 변경 (▲▼) 기능
- Piloto Studio 파티클 번들 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ShoulderCorrectionFunction.cs 삭제
- CustomRetargetingScript, 에디터, 리모트 컨트롤러, 대시보드에서 참조 전부 제거
- OptitrackSkeletonAnimator_Mingle에 shoulderAmplify 추가 (기본값 2x)
- rest pose 대비 delta를 SlerpUnclamped로 증폭
- 상완 역보정으로 손 위치 보존
- 소스 스켈레톤 단에서 어깨 과장 → 리타게팅 IK가 팔 자동 보정
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OptiTrack 필터:
- FilterStrength enum (Off/Low/Medium/High/Custom) + 인스펙터 버튼 UI
- two-pass 업데이트: raw 데이터로 IK 포인트 월드 위치 캡처 후 필터 적용
- TryGetRawWorldPosition() API로 필터 전 위치 제공 (접지력 보존)
- 패킷 녹화 기능 (enableRecording 토글, 전체 본 CSV 기록)
TwoBoneIKSolver:
- FK/IK Slerp 블렌딩: positionWeight 0→1 전환 시 튀지 않음
- ComputeKneePosFromSource rejection 벡터에 프레임 회전 적용 (팔 방향 보정)
- ComputeKneePosFromBendGoal rejection 기반으로 재작성 (팔꿈치 힌트 방향 정확도 개선)
CustomRetargetingScript:
- 발/손 IK 타겟에 raw 위치 사용 (필터 스무딩 접지력 저하 방지)
- 팔 소스 참조 제거 (bendGoal 방식이 팔에 더 적합)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- FinalIK IKSolverTrigonometric 의존성 제거, 자체 솔버 구현
- cosine law 대신 소스 무릎 위치를 비율 스케일하여 타겟 무릎 직접 배치
- 180° 특이점 없이 정상↔역관절 자연스러운 전환
- FromToRotation 기반 본 회전으로 twist 보존
- 팔/다리 모두 소스 본 참조 설정, 소스 없으면 cosine law fallback
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- RetargetingControlWindow: 어깨 보정, 접지 설정, IK 토글, 최소 발목 높이 섹션 추가
- RetargetingRemoteController: 어깨 반전 토글, 개별 손가락 curl, 최소 발목 높이 Send/Update 추가
- dashboard_script.txt: 어깨 보정/접지 설정 섹션 신규, IK 토글, 개별 손가락 슬라이더, 최소 발목 높이 추가
- 에디터 인스펙터/컨트롤 패널/웹 대시보드 3곳 설정 항목 완전 동기화
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- SerializedObject 직접 Dispose 대신 GC 자연 수거로 변경 (바인딩 큐 충돌 방지)
- 전체 자동 보정을 3프레임 순차 실행으로 변경 (스케일/리타게팅 반영 대기)
- 전체 자동 보정에 머리 정면 캘리브레이션 포함
- schedule 콜백에 Dispose된 SO 접근 방어 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CameraManager의 CinemachineCamera 프리셋을 라운드 로빈으로 렌더링하여
웹 대시보드에서 실시간 JPEG 프리뷰를 확인할 수 있는 시스템 추가.
- StreamDeckServerManager에 프리뷰 렌더링 로직 통합 (카메라 풀, AsyncGPUReadback, 바이너리 WebSocket)
- 대시보드 프리뷰 탭: 해상도/품질/갱신간격/그리드열 커스텀, 클릭→카메라 전환, 더블클릭→풀스크린
- 구독 기반 전송 + Page Visibility API로 불필요한 렌더링 방지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>