LEDScreenShader는 셰이더 전용 패키지(.cs 0개)인데 벤더가 스크립트 없는 asmdef 동봉 → 'Assembly will not be compiled, no scripts' 경고. 참조 없음 확인 후 asmdef+meta 삭제(셰이더/머티리얼은 asmdef 불필요).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Assets 사본(신버전 UIToolkit)과 com.yamo.unitytools 패키지 사본(구버전 IMGUI)이 동일 GUID 689308838c332a642889286c26f12e4e 공유. 네임스페이스가 달라 타입 충돌은 없고 GUID만 겹침. immutable 패키지는 수정 불가하므로 Assets 사본 meta GUID를 4f2a65d65a8948d786b8295020eefdc5로 교체(EditorWindow라 씬/프리팹 GUID 참조 위험 없음).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
d8cdf1a4d 커밋에 merge-conflict 마커째 깨져 들어온 .meta 11개(GUID 누락)를 삭제 후 Unity가 유효 GUID로 재생성. 대응 .mat/.prefab은 정상이라 함께 재직렬화됨. Litch_FireComet.prefab 본문의 1줄 conflict(m_ColorSpace 0 vs -1)는 HEAD(0) 채택해 해결. 'GUID cannot be extracted by YAML Parser' / 'does not have a valid GUID' 경고 해소.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
기존 AutoReconnect는 첫 프레임 수신 후 끊긴 경우(케이스 C)에만 작동했음.
이제 케이스 A(Connect 자체 throw)와 케이스 B(Connect 성공했으나 첫 프레임 미수신)도
백오프 재시도로 자동 복구함.
- InitialConnectWithRetry 코루틴: 최대 10회, 1→2→3→5→10초 백오프
- CleanupClient 헬퍼: 케이스 B 재시도 시 m_client 안전 정리
- AutoReconnect=true이면 OnEnable이 InitialConnectWithRetry로 분기
- AutoReconnect=false이면 기존 동작 유지 (1회 시도, 실패 시 종료)
효과: Motive 소켓 바인딩 지연, Unity가 Motive보다 먼저 켜짐, 짧은 네트워크
블립 등 일시적 원인의 간헐적 연결 실패가 사용자 개입 없이 자동 복구됨.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 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>
NiloToonEnvironment.shader 본체와 동일한 self-shadow 수신 기능을 ASE
template에도 이식. ASE로 환경 셰이더를 작성한 머티리얼도 캐릭터의
NiloToon 셀프 섀도우를 바닥/벽에 받을 수 있게 됨.
- Properties: [Toggle(_RECEIVE_NILOTOON_CHAR_SHADOW)] 토글 + Shadow
Strength slider 추가 (기본 off, 기존 머티리얼 호환)
- Pragma: shader_feature_local_fragment _RECEIVE_NILOTOON_CHAR_SHADOW
+ multi_compile_fragment _ _NILOTOON_RECEIVE_SELF_SHADOW
- Per-material CBUFFER에 _NiloToonCharShadowStrength 추가
- 두 키워드 모두 활성 시: 텍스처/샘플러/매트릭스 uniform과
SampleNiloToonCharSelfShadow 함수 선언
- frag에서 UniversalFragmentPBR 직후·shadow border tint 직전에 적용
(NiloToonEnvironment_LitForwardPass.hlsl과 동일한 위치)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
이전 fix는 cullResults 기반 DrawRendererList + manual DrawRenderer 둘 다
호출해서 캐릭터가 frustum 안에 있을 때 shadow map에 두 번 그려졌음.
manual draw가 cullResults에 의존하지 않으므로 DrawRendererList 자체가
불필요. 제거하여 GPU 부하 ~절반 감소 + 코드 단순화.
- RG path: PassData.rendererListHandle, RendererListParams,
CreateRendererList, UseRendererList, DrawRendererList 모두 제거
- Legacy path: cullingParameters/cullResults 계산, context.Cull,
context.DrawRenderers 모두 제거 (terrainCrashSafeGuard 분기 자체가
무의미해짐)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Unity 6 RG path가 main camera cullResults만 사용하여 카메라가 캐릭터를
프러스텀 밖으로 두면 shadow map RT에 캐릭터가 안 그려져 바닥 그림자가
사라지던 문제 해결.
- Pass.cs ExecutePass(RG)/Execute(Legacy) 에 manual cmd.DrawRenderer
추가하여 NiloToonAllInOneRendererFeature.characterList 의 모든
활성 캐릭터를 cullResults 의존성 없이 직접 그림
- shader 별 NiloToonSelfShadowCaster pass index 캐싱
- validCharList의 frustum AABB 필터 제거하여 키워드/ortho box 항상 유지
- SkinnedMeshRenderer.updateWhenOffscreen 강제로 카메라 밖에서도
본 매트릭스 갱신 (localBounds는 GetCharacterBoundCenter에 영향 주므로
건드리지 않음)
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>