docs(BT12-Dev-Vis): A05·A_Laser 박스 정정 + Player 피격 진단 (엔트리 10·자성 #5)

EerieVillage e8779df push 정합. 본 PM 자성 #5 — 변경 영향 사전 grep 누락 (HitboxDebug 미경유 영역 측정 X).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-13 19:33:10 +09:00
parent a00a4f1ebe
commit 3ca4df63f1
2 changed files with 43 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -272,6 +272,48 @@ Player x: -7 → -5 (Δ+2.0) 이동
---
## 엔트리 10 — A05·A_Laser 박스 시각 off 정정 + Player 피격 X 진단 Debug.Log (2026-05-13 EerieVillage `e8779df`)
**PD 보고 2건**:
1. "여전히 히트 영역이 노출되는 현상 수정해줘. (좌우베기, 레이저, 번개충격)"
2. "플레이어가 몬스터에게 피격당하지 않는 현상 수정해줘."
### 작업 1 — 박스 시각 off 누락 정정 (좌우베기·레이저)
**원인 측정**:
| Spawner | 박스 spawn 코드 | 본 PM 직전 변경 효과 |
|---------|----------------|---------------------|
| LightningStrikeSpawner (A04) | `HitboxDebug.Spawn` 호출 | ○ 적용됨 (`AttachSprite.sr.enabled = false`) |
| MeleeAreaSpawner (A05) | `new GameObject` + SpriteRenderer 직접 부착 | **✗ 누락** |
| LaserSpawner (A_Laser) | 동상 | **✗ 누락** |
**정정**: MeleeAreaSpawner·LaserSpawner 영역 박스 GO 생성 후 `sr.enabled = HitboxDebug.ShowDebugVisuals` 1줄 추가. A04 = 본 PM 직전 변경 정합 (PD Editor Refresh 후 재측정 필요).
**본 PM 자성 #5** — 직전 commit `d26bd83` 영역 시각 off 작업 시 `HitboxDebug.AttachSprite` 영역만 변경·MeleeAreaSpawner·LaserSpawner 영역 박스 spawn 코드 (HitboxDebug 미경유) 영역 사전 측정 누락. `feedback_new_code_existing_system_dependency_unmeasured` 정합 — 변경 영향 영역 grep 사전 측정 의무.
### 작업 2 — Player 피격 X 진단 Debug.Log (회수 의무)
**현 코드** (`EnemyController.Update` L387-396):
```csharp
if (_cachedPlayer.IsGrounded && VisualBounds.Intersects(_cachedPlayer.Bounds))
if (!_cachedPlayer.health.IsInvulnerable)
_cachedPlayer.health.Decrement();
```
**본 PM 가설 다수 (`feedback_pm_root_diagnosis_priority` 정합 — 진단 우선)**:
1. Enemy patrol 거리 영역 Player 근접 X
2. Enemy maxHearts=1 (HP 4) 자동 공격 (PlayerAttackTicker) 영역 즉시 처치 → 접촉 기회 X
3. Player가 항상 공중 (점프 영역 `IsGrounded=false`) 영역 통과
4. `VisualBounds.Intersects(Player.Bounds)` 영역 미 교차 (시각 vs 콜라이더 영역 영역 영역)
**진단**:
- `[EnemyHit][Intersect]` (Bounds Intersects 시점 측정·grounded·invuln·VB center/size·PB center/size·t)
- `[EnemyHit][Decrement]` (실제 Decrement 호출 시점)
**회수 의무**: PD Console 측정 결과 영역 본 PM 근본 fix 후 본 Debug.Log 2종 revert commit.
---
## 영역 자산
- `HitboxDebug.cs` 공용 helper (Spawn·AttachToTransform·GetWhiteSprite) — 추후 다른 카테고리 (C 설치·D 소환·E 오라) 영역 박스 시각화 재사용 가능.