실측: Attack1_S_10101 은 ShowEffect/Move/Projectile 3개뿐이고 LookAtTarget 이 없다.
Attack2/3_S_10101 만 LookAtTarget@0.0000s(int=0, str='') 를 갖는다 → 1타만 대상 방향으로
돌지 않은 채 나간다.
- Hit1LookAtTarget 신설(원본 훅 0 · FBX/meta 0줄) — RuntimeInitializeOnLoadMethod
숨김 러너가 PC 등장·클래스 변경을 폴링하고, 같은 컨트롤러의 2·3타 클립에서
LookAtTarget 이벤트를 템플릿으로 읽어(함수명·시간·파라미터 복사 · 코드 상수 0개 C45)
1타 클립에 AddEvent 로 클래스당 1회 주입 + Animator.Rebind()
- SO 신설 WLCombatCoreSettings.hit1LookAtTarget(1) · hit1ClipNamePattern(Attack1_S_{CID})
· hit1EventFunctionName(LookAtTarget) · hit1PollSeconds(0.5) — 0 이면 러너 자체가 안 뜬다
- 검증(에디트 모드 · 같은 Inject 코드 경로): 1타 이벤트 3→4개, LookAtTarget@0.0000s(int=0,
str='') 로 2·3타와 동일. 2·3타 4개 무변경. transform.LookAt 정렬 각 오차 8방향
37.00° → 0.00°. FBX/meta git status 0줄(에셋 무오염 실측) · 검증 뒤 재임포트로 원복
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
① 발판 = 열림 구역(숨긴 밭 전부) XZ 정중앙 + 인스턴스 스케일 50 %
- WLIslandSettings: platformScale 0.5 / platformCenterOnZone 1 / platformCenterVisibleOnly 1
- 트리거는 스케일 역보정으로 월드 3.40 m 유지 · FI 프리팹 0줄
② 던전 결과창 왼쪽 버튼 = 같은 스테이지 재입장(StageDirector.Retry)
- WLStageUiSettings: dungeonPrimaryRetry 1 / dungeonPrimaryText 「다시 도전」
- 스테이지 모드(#815)는 Current==null 이라 한 줄도 지나가지 않음
③ 액티브 스킬 사용 OFF (PD 「우선 엑티브 스킬은 사용 Off 해줘」)
- 새 파일 ActiveSkillLock.cs · WLCombatCoreSettings.activeSkillsEnabled 0
- 자동 스킬 캐시(arr_magicData) 비움 + 패드 스킬 슬롯 0 · 기본 공격 불변
게이트 PASS(resident · errors[] · 콘솔 error 0) · ProjectSettings/Packages dirty 0
Assets/Script/** · Assets/FarmingIsland/** 0줄
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
원인(실측): Attack1_S_* 클립은 ShowEffect 직후 4~5 프레임만 실제 타격 호이고
그 뒤 칼끝이 한 바퀴 넘게 감긴다. 속도 트림(정지 꼬리만 자름)은 그 감김을
남겨 칼끝 원 피팅이 깨지고(편차비 0.27 > 임계 0.25) 손잡이 중심 폴백으로
떨어져 피벗이 머리 높이·몸 왼쪽으로 0.39 m 밀렸다. 12행 중 1타 4행만 폴백이었고
2·3타 8행은 전부 칼끝원(편차비 0.14/0.17)이라 정상이었다.
- SlashArcMeasure.TrimWindupWrap 신설 — 편차비가 기준 이하가 되는 가장 긴 창 선택
- WeaponTrailDriver.MeasureSwingCalibration · WL816t_Bake 양쪽에서 같은 헬퍼 사용
- SO 신설 arcTrimWindupWrap(true) · arcFitMaxDeviation(0.25 · 기존 하드코딩 이관 C45)
- 캘리브레이션 1타 4행 재베이크 — 2·3타 8행은 수치 무변경(Δ 0.000 m · 0.0°)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PlaceArc 와 같은 수식으로 실제 Effect_WLSwingArc 를 배치하고 ParticleSystem.Simulate 로 구워
카메라 RenderTexture 로 저장한다(Play 없음). 산출 = Screenshots_WL/WL816t_{before,after}_{8dir,combo}.png
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
원인(실측): 검기 캘리브레이션 8행이 교체 전 캐릭터 Ai01(root scale 1 · 무기 원본 크기) 기준으로
구워져 있고, 런타임 캐릭터는 814n/814p 로 LH_M05(root scale 1.0527 = f_Scale 0.70 x heightComp 1.5038)
+ 무기 x0.54~0.66 로 바뀌었다. 로컬 프레임이 달라 호 중심이 0.36~0.88 m, 평면 법선이 6.9~61.0 deg
어긋난 채 고정돼 있었고, 이 오차 벡터가 캐릭터와 함께 돌아 화면에서는 가로 -0.50~+0.59 m /
세로 -0.46~+0.86 m 로 방향마다 다르게 보였다.
- WL816t_Bake: 런타임과 같은 PC(swap resolve) x 같은 스케일 x 같은 무기 보정(WLWeaponFitter.Fit)으로
1/2/3 타 클립을 60 Hz 샘플 -> 런타임 ToLocalPos 규약(회전만)으로 12행 재베이크 (구 8행 대체)
- SlashTrailSettings: arcFitAttackRange / arcRangeScale 신설 (기본 off = 무동작 · C8 롤백)
- WeaponTrailDriver.PlaceArc: 스위치 on 이면 호 바깥 반지름 = 공격 범위
(stoppingDistance 양수 최솟값 + AttackRange_Up + immediateAttackMargin · WLRangeRing 과 같은 SOT · 상수 0개)
- 8방향 x 3타 편차 0.525/0.361/0.864 m -> 0.000 m · 법선 61.0/20.5/23.5 deg -> 0.0 deg
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ViewMovedEnough 가 _viewOn=false 에서 곧장 false 를 돌려줘, 카메라가 씬보다 늦게 생기는 경우
가시 범위가 영영 안 켜지고 섬 전체에 인스턴스가 남았다(그림은 정상 · 최적화만 무효).
카메라가 생겼는데 아직 범위를 못 잡았으면 true 를 돌려 한 번 다시 고르게 한다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- 4회차(구조적 색비): 풀 그림자비를 바닥과 같은 0.3248/0.3416/0.3936 으로 맞추고 알베도만 찾으면
구름 세기가 바뀌어도 안 깨질 것으로 봤으나 실측 최저가 k=1.15 에서 2.3%(S1.0)·4.3%(S1.8) 로
현행 2점 일치(0.43%)보다 나빴다 → 기각. 풀(빌보드)의 램프 입력이 바닥과 상수만큼 다르다는 뜻.
- 5회차(세기 재수렴): 세기마다 k 를 0.90~1.30 에서 0.01 씩 다시 찾아 비교.
S1.0 단계4 밝기180.2 보이는 풀 1.94% / S1.2 단계5 밝기172.6 3.52% / S1.4 단계5 4.89% / S1.6 단계6 3.94%.
띠를 한 단 얻으면 풀이 1.8~2.5 배 더 드러난다 → **데모 원값 S1.0 유지**.
- 3회차(세기×밝기 16점): 어느 조합도 보이는 풀을 1.4% 아래로 못 내렸다(최악 73.8%). 기록만 남긴다.
- 스윕 스크립트는 끝에 원값 복구를 넣었다(2회차에 복제본이 씬에 남아 측정이 통째로 오염된 사고).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- 실측: 바닥만 렌더하면 띠세기LF 7.31 / 포기잡음HF 0.39 (매끈한 띠). 풀을 켜면 HF 4.22(10.8배)
에지% 0.86 → 14.06(16.3배). 풀이 바닥 대비 0.943/0.900/0.882 배로 「항상 더 어두워」 띠를 덮었다.
- 수렴 실측: 풀 색 × (1.0737, 1.1189, 1.1365) 에서 보이는 풀 31.0% → 0.6%
(구름 위상 3곳 전부 0.56~0.68%). 띠 안쪽에서 바닥과 같은 픽셀 = 데모와 같은 원리.
- _Cloud_Change 0.001→0.005 · _Cloud_Movement (0.2,0.2)→(1,1) = 데모 원값 복귀(풀·바닥 동일).
- 가시 범위 배치(816q §3): 월드 고정 격자는 그대로 두고 카메라 시야 사각형 + 여유 8 m 안만 남긴다.
여유(8) > 재선정 보폭(2.5) 이라 늘고 주는 것은 화면 밖에서만 — 좌표는 불변(순간이동 0).
되돌리기 = viewCullEnabled 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
적(MobActor·보스)이 공격 사거리 안에 들어오면 플레이어 발밑에 반투명 흰색 원을 띄우고,
사거리 안에 적이 3초 이상 없으면 소멸시킨다(PD #816 원문).
- 반지름 = 게임이 실제 공격 판정에 쓰는 값. MyActor.cs:44/47/222 의 reach 식을 그대로 재현하고,
런타임 NavMeshAgent.stoppingDistance(= PCActor.cs:381 m_ClassData.f_AttackRange) 의 양수 최솟값 +
eStat.AttackRange_Up + WLTargetingSettings.immediateAttackMargin(0.2) 로 잡는다. 코드 상수 0(C45).
- 그리기 = 815f 예고 판과 같은 URP Unlit 반투명 + 런타임 생성 원판 메시(새 셰이더·에셋 0, 드로우콜 +1).
- 값 전부 SO: Assets/WL/Combat/Settings/Resources/WL/WLRangeRingSettings.asset
- 원본 Assets/Script/** 0줄 · 설치는 RuntimeInitializeOnLoadMethod(AfterSceneLoad) 1점.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PD 2026-09-15: ① 흰 거품띠가 안개 같다 ② 물이 섬을 통과하는 느낌.
데모(Critter) 물 셰이더는 우리 카메라/URP 에서 **돌긴 한다**(복사본 Farm_Water_Demo.mat ·
깨짐 0 · queue 3000 · URP-Balanced 깊이·불투명 텍스처 둘 다 on 실측). 다만
ⓐ 무늬가 UV 기반이라 섬 물 평면(1000 m)이 데모 평면(10 m)의 100배 → 무늬가 사라지고
ⓑ 색 6안을 돌려도 814t 톤(#5C96C2)에 못 닿는다(최선 #2EBCF3 · 거리 77.2 · 쨍한 원색)
ⓒ 물가Δ 가 음수(-0.02) = 섬에 반응하지 않는다.
→ 채택하지 않고 대안 ⓑ 로 갔다(증거용으로 복사본은 남긴다).
채택 = Farm_Water_WL_F.mat (= E 복사본 · ToonWaterU · 814t 톤 그대로)
FoamColor (0.62,0.82,0.90) · FoamDistance 2.2 · FoamEdge 3
816j2 가 꺼 둔 깊이 거품을 **흰 거품이 아니라 물색을 밝힌 색**으로 되살려
섬과 만나는 선에 얕은 물이 생기게 했다 → 물가Δ 0.0736 → 0.1129,
밝은(흰) 픽셀 0.00 % · R-B 0(중립) = 안개로 읽힐 흰 덩어리가 없다.
SO: waterTo = Farm_Water_WL_F · shoreFoamEnabled 0 (둘레 띠 끔).
게이트 PASS(resident · up_to_date · console error 0) · ProjectSettings/ Packages/ 0줄
걷기 6.00 m · grounded=True.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
더미 = 던전 씬 2개의 별도 루트 PC_LH_M05(전시용 치비) + ArenaWalkerRig(이 리그가 body 로 치비를 걷게 한다).
FixDuplicates 는 ArenaWalker 가 붙은 오브젝트만 꺼서 치비가 그대로 남았다 → 두 씬에서 제거(루트 10→8).
카메라 = 입장 프레임에 위치만 순간이동하고 회전은 4%/프레임만 도는 원본 CamStatus 0 가지(RealCamera.cs:199·208)와
StageDirector.Enter 의 PC 워프가 원인. WLDungeonCameraRig 를 실행순서 -100 으로 당겨 LateUpdate 에서
최종 구도로 즉시 앉히고, 던전 로딩 화면은 정착·입장 뒤에 닫게 했다. 원본 0줄 · 되돌리기 SO 스위치 4개.
실측(프레임별 · 전→후): 회전 튐 0.46°+6.89° → 0.00°+0.00° · 워프 뒤 2 m 추적 지연 → 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- WLIslandSceneSetup.ApplyIslandCameraDistance: 섬 씬의 Cinemachine 가상 카메라(islandVcamName)의 m_CameraDistance 를 islandCamDistance 로. FI 씬·코드 0줄.
- WLIslandSettings: islandCamDistance 15 · islandVcamName PlayerVirtualCamera 신설 · camDistance 는 기준 기록값 22 로 복원(던전은 dungeonCamDistance 13).
- 되돌리기 = islandCamDistance 0.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>