- 짙은 올리브 픽셀(H45~110°·S>0.25·V<210): 원본 4.1 % · 814u 33.0 % · 814v 4안 전부 0.0 %
- v_olive_fix.png · 머리 크롭 확대 조정
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- §1 실측: 부위별 텍셀→화면픽셀 밀도(앞면 삼각형 · 화면면적 가중) · 올리브 원인 규명
- 얼굴 face02_V1..V4 · 머리칼 Hair05_V1..V4 (원본 복사 → 제자리 가공 · UV/메시 무변경)
- 올리브 차단: HSV 의 V 만 조절(RGB 배율 금지 → 채널 포화 0) + 단별 Hue 를 기준색 ±cap 로 제한
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 새 씬 Assets/WL/Look/Arena/Scenes/WL_ArenaProto.unity (기존 씬·빌드 씬 목록 수정 0)
- 바닥 = Unity Terrain 80x12x80 + Demo_Grass/Demo_Dirt 레이어 + Demo Terrain.mat(ToonTerrain) — 데모 실측 방식 그대로
- 경계 = 반경 14 m 에 Stone_1/2 + Tree + Arch_Large/Small · 연못 Water_Plane · 배경 Windmill/House
- 캐릭터 LH_M05 중앙(스케일 1.05266 = f_Scale 0.7 x 보정 1.5038) · 프리팹 수정 0
- 조명/ambient/fog/스카이박스 = 데모 실측값 그대로
- 머티리얼 14종(+Terrain.mat) · 삼각형 29,875 (목표 15종/5만 이내)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 결정 「1. 바꿔. 2. 붉은 기사 M05로 해」 · 조사서 §C① ⓒ안.
- 새 프리팹 Assets/Res_Addr/PC/LH_M05.prefab — M05 모델 + Ai01 컴포넌트 구성 이식
(WizardActor·NavMeshAgent·Rigidbody·CapsuleCollider·SkinnedMeshAfterImage · Layer 3 · rootMotion 0)
무기 소켓 7/7 을 Ai01 과 **같은 본 경로**에 같은 로컬 TRS 로 재생성 → ClassConfig 무기 인덱스 무변경
Animator 아바타 = M05 자신의 Humanoid → 기존 pcanim_* 12개 + 이벤트 250개가 그대로 리타깃
- 되돌리기 스위치 WLCharacterSwapSettings(SO) — enabled/pcPrefabName/verboseLog · off 면 원본 100 %
- 크기 보정 WLPcScaleCompensator — 원 높이 1.1316 × 1.5038 = 1.7017 m(= Ai01)
→ 인게임 1.1912 m · 로비 1.7017 m 로 Ai01 과 동일. **테이블 ClassConfig 수정 0**
(f_Scale 을 고치면 스위치를 껐을 때 Ai01 이 1.79 m 가 되어 되돌리기가 깨진다)
- CapsuleCollider 는 루트 스케일을 받으므로 로컬 값을 1.5038 로 나눠 월드 크기를 Ai01 과 동일하게
- 원본 수정 = PCInfo.cs 1줄(상한) · Addressables 0 · Assets/Suriyun/** 수정 0(참조만)
실측: 머리:키 5.49 → 2.55 · 도트A 머리 픽셀 7.6 → 16.5 px (+115.5 %)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Assets/WL/Combat/Stage/Barrier/ 신규 3파일 + Resources SO
- 워프백 = 813w3/813t2 와 같은 원본 Actor.Set_Warp · NavMesh 스냅 · 카메라 리드 스냅
- 보이기 3스타일: ⓐ Hovl Marker 3 Zone Loop 스케일 ⓑ 울타리·바위 프롭 링 ⓒ 불꽃 링(총량 상한)
- 캡처는 다음 커밋
- ResetForProbe 가 「스왑할 것 없음」 캐시를 안 비워 다음 ApplyNow 가 전부 건너뛰던 문제
- 물 스왑을 맵 스윕보다 먼저 — 맵 스윕이 물 렌더러를 캐시에 넣어 물이 안 바뀌던 문제
- 프로브 H(ApplyNow/RestoreNow 왕복) 추가 → RESULT PASS 46/46
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- 실측: Toon 셰이더에 _CLOUDSENABLED 키워드는 없다(구버전 잔재) → 구름 on/off 는 _Cloud_Strength
- 지면 판정에 평평함·면적비 추가(나무 수관·배경 산 제외) · 잔디 높이를 m 단위 SO 로
- 캐릭터 외곽선 기본 off(스킨드 메시는 270px 에서 노이즈) · SO characterOutlines
- 캡처 6장(270×480 → 1080×1920 Point 확대 · 직교) · 프로브 PASS 38/38
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- TerrainGuard(신규 · 폴링 · 원본 훅 0): PC/몹/보스가 NavMesh 밖 또는 y > maxWalkableY 에
dwell(1 s) 넘게 있으면 원본 Actor.Set_Warp 으로 가장 가까운 walkable 지점 복귀(쿨 3 s · 카메라 리드 스냅)
- SpawnPositionGuard(같은 파일): 새로 나타난 몹의 스폰 지점 검증 → 재표집 3회 → 스포너 노드 폴백
- WLTerrainGuardSettings(SO · 값 22개 전부 에셋 · C8 롤백 enabled=0)
- 프로브 PASS: 언덕 격자 1000점 walkable 0 · FindGround 5/5 · 스폰 200점 언덕 위 0 · C8 6행 · GC 0 B
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
D-41: table_selectskill 58행 전수 실측 — 참조 프리팹/이펙트 키가 없는 3행
(3 Select_Shield · 11 Select_SwordSlash · 14 Select_Star)을 뽑기에서 제외.
원본 Get_DataList(3) 은 그대로 쓰고 결과만 후필터(원본 수정 0줄) · 값 전부 SO.
D-42: WLErrorGuardSettings.suppressUntilNextRunStart(기본 1) — RunPhase.Ended
(결과창~다음 런 시작)까지 훅을 내린 채 둔다. 813x2 파일 +7/-1줄.
D-26 「계기는 맞고 화면은 틀리다」 실측 원인 = Fill Image 에 스프라이트가 없다.
BossHpBar.cs:499 가 AddComponent<Image>() 만 하고 sprite 를 안 물려 저장돼,
uGUI Image.OnPopulateMesh 가 activeSprite==null 에서 Graphic.OnPopulateMesh(사각형 전체)로
빠져 type=Filled/fillAmount 를 아예 읽지 않았다 → 계기 0.368 · 화면 만피.
- EnsureFillRenderable(): 바가 켜질 때마다 sprite + Filled/Horizontal/Left 강제(값 전부 SO)
- WhiteSprite: 내장 흰 텍스처 기반 공유 스프라이트 1개(HideAndDontSave · 프레임당 할당 0)
- DedupInstances(): 같은 캔버스에 바가 2벌 이상이면 첫 1개만 남긴다
- bossBarHideOnZeroHp: HP 0 이면 사망 판정 전에도 숨김 예약(합성·실액터 경로 동일)
- 프로브 PASS 21/FAIL 0 — 메쉬 폭비 실측 수리 전 1.000 → 수리 후 0.368 · HP 869/1800 → 0.483
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>