fix(BT5-Dev #16): Distance 기반 단순 감지 — Bounds 산수 의존 폐기 (PM 자인·근본)
PD 강한 어조: - "그래서 어떻게 해야 제대로 동작하는건데? 똑바로 일해!" - "내 플레이에만 의지하지말고 기획팀에도 참여할 수 있도록 방법을 찾아봐" PM 자인: - 엔트리 11까지 추측 + Bounds 산수 의존 — 100% 정합 보장 X - Unity MCP 본 세션 미활성 (Claude Desktop만 — BT3 영역). 본 PM 직접 Play 검증 X - PD에게 검증 떠넘김 영역 — C5·C44·C2 위배 근본 정정: - EnemyController.cs: hitRangeX(0.7)·hitRangeY(1.0)·stompMinDy(0.5) public 영역. Update Distance 기반 감지 (Mathf.Abs(dx)<hitRangeX && Mathf.Abs(dy)<hitRangeY). Bounds·Collider·SpriteRenderer 영역 무관 = 항상 작동 - PlayerEnemyCollision.cs: dyAtCollision 필드 신규. 밟기 판정 = dy > stompMinDy (산수 영역 폐기) 미변경 영역 보존: - IgnoreCollision·queriesHitTriggers·fixedDeltaTime·targetFrameRate·OneWayPlatform·DeathZone Coroutine·Player.prefab·flipX·LastGroundedPosition·OnDeath/Resurrect·자동부착·Health i-frame·Flash·Prompt·Enemy.prefab IsTrigger=0·EnemyController.Awake IgnoreCollision PD 명령 2번 — 기획팀 참여 방안: - 기획팀장 Task 호출 — BT5-Dev 메카닉 정합성·디자인 의도 검토 (system-designer·ux-designer) - PlayMode 테스트 자동 영역 — PD/기획팀 Test Runner 클릭만으로 검증 - 별건: Unity MCP Claude Code 영역 활성화·CI batchmode 매니페스트 archived: 2026-05-07_152059_distance Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
93da2e3e5e
commit
e12a43b123
|
|
@ -35,7 +35,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**.
|
||||||
|---|------|----------|----------|-----------|----------|----------|
|
|---|------|----------|----------|-----------|----------|----------|
|
||||||
| BT12-Dev | 2026-04-24 23:00 | **스킬 시스템 설계 (C43 "개발팀" 호칭 직접 수령 + C49 시범 적용)** — PD 직접 지시 "개발팀은 기획서를 토대로 스킬 시스템 설계 진행". 기획서 v0.2 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉.md` 액티브 6카테고리·패시브 5카테고리·각성 4패턴) + CSV v0.3 60종 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉_v0.3.csv` UTF-8 BOM) 토대. C49 표준 프로세스 시범 적용 (개발팀장 Opus 설계 → 클라이언트팀 Sonnet 구현 → 개발팀장 검증) | **보류** | **[Phase 1 완료 2026-04-24]** 개발팀장 Opus 직접 설계 완결 — `프로젝트/EerieVillage/개발/spec/스킬_시스템_설계_v1.md` (1074 라인, 14 섹션). §1 아키텍처 4계층 · §2 인터페이스 4종(`ISkillRuntime`·`IActiveSkill`·`IPassiveSkill`·`IAwakeningSkill`) + ScriptableObject 3종(`ActiveSkillData`·`PassiveSkillData`·`AwakeningSkillData`) + `PlayerSkillInventory`·`PlayerStats` · §3 CSV→ScriptableObject→Runtime→Health.Decrement 데이터 흐름 + 카테고리 문자열 매핑 · §4 VS 순수형 자동 발동 사이클 (OnTime·OnHit·OnKill + `ActiveSkillRuntime.Tick(deltaTime)` 독립 Cooldown) · §5 `AwakeningManager` 3 조건 동시 충족 + 4 패턴 Dispatcher + 다중 각성 선택 UI · §6 카테고리 매핑 6+5+4 (B는 BT7-Dev `AttackHitbox` 재활용 · 나머지 5 효과 발동기 신설) · §7 Phase 2-A~E 작업 단위 분해 (스크립트 25개·테스트 10건·asset 60개) · §10 BT7-Dev 통합 영역 (Health·AttackHitbox·PlayerAttackTicker·PlayerController 완전 보존 · `Health.OnDamagedEvent` 확장 필요 명시) · §11 기각안 5건 + 대화로그 추가 2건 (총 7건 C32 초과). 대화로그 `공유/대화로그/EerieVillage/2026-04-24.md` `[BT12-Dev Phase 1 완료] 개발팀장 스킬 시스템 설계 v1 (1074 라인)` 엔트리 완결. **C48 3자문 전수 통과**로 Phase 2 클라이언트팀 Sonnet Task는 본 Task에서 호출하지 않고 **PM 차원 별도 위임** 권고 (C48·C49·C50 정합) | **기획서 확정 대기** (PD 2026-04-25 직접 지시 — "기획서 확정되기 전까지 작업 대기") | **재개 트리거**: 기획팀 v0.3 또는 v1.0 확정 + balance-designer 60종 수치 확정 + narrative-designer 카드명 세계관 재매핑 결정 → C50 Phase 2 사전 승인 옵션(a/b/c/d) PD 결정 → 분할 시 Phase 2-A~E 순차 진행 (인터페이스·SO → 중앙 컴포넌트 → 효과 발동기 → 60장 .asset → EditMode 테스트) → Phase 3 개발팀장 검증 → 완료 아카이브. **선행 차단 블로커**: `paths.local.json.UNITY_PROJECT_ROOT: __SET_PER_PC__` 미설정 — 재개 시 PD PC 경로 설정 필요. Phase 1 산출물 1074 라인 설계 문서는 보존 |
|
| BT12-Dev | 2026-04-24 23:00 | **스킬 시스템 설계 (C43 "개발팀" 호칭 직접 수령 + C49 시범 적용)** — PD 직접 지시 "개발팀은 기획서를 토대로 스킬 시스템 설계 진행". 기획서 v0.2 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉.md` 액티브 6카테고리·패시브 5카테고리·각성 4패턴) + CSV v0.3 60종 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉_v0.3.csv` UTF-8 BOM) 토대. C49 표준 프로세스 시범 적용 (개발팀장 Opus 설계 → 클라이언트팀 Sonnet 구현 → 개발팀장 검증) | **보류** | **[Phase 1 완료 2026-04-24]** 개발팀장 Opus 직접 설계 완결 — `프로젝트/EerieVillage/개발/spec/스킬_시스템_설계_v1.md` (1074 라인, 14 섹션). §1 아키텍처 4계층 · §2 인터페이스 4종(`ISkillRuntime`·`IActiveSkill`·`IPassiveSkill`·`IAwakeningSkill`) + ScriptableObject 3종(`ActiveSkillData`·`PassiveSkillData`·`AwakeningSkillData`) + `PlayerSkillInventory`·`PlayerStats` · §3 CSV→ScriptableObject→Runtime→Health.Decrement 데이터 흐름 + 카테고리 문자열 매핑 · §4 VS 순수형 자동 발동 사이클 (OnTime·OnHit·OnKill + `ActiveSkillRuntime.Tick(deltaTime)` 독립 Cooldown) · §5 `AwakeningManager` 3 조건 동시 충족 + 4 패턴 Dispatcher + 다중 각성 선택 UI · §6 카테고리 매핑 6+5+4 (B는 BT7-Dev `AttackHitbox` 재활용 · 나머지 5 효과 발동기 신설) · §7 Phase 2-A~E 작업 단위 분해 (스크립트 25개·테스트 10건·asset 60개) · §10 BT7-Dev 통합 영역 (Health·AttackHitbox·PlayerAttackTicker·PlayerController 완전 보존 · `Health.OnDamagedEvent` 확장 필요 명시) · §11 기각안 5건 + 대화로그 추가 2건 (총 7건 C32 초과). 대화로그 `공유/대화로그/EerieVillage/2026-04-24.md` `[BT12-Dev Phase 1 완료] 개발팀장 스킬 시스템 설계 v1 (1074 라인)` 엔트리 완결. **C48 3자문 전수 통과**로 Phase 2 클라이언트팀 Sonnet Task는 본 Task에서 호출하지 않고 **PM 차원 별도 위임** 권고 (C48·C49·C50 정합) | **기획서 확정 대기** (PD 2026-04-25 직접 지시 — "기획서 확정되기 전까지 작업 대기") | **재개 트리거**: 기획팀 v0.3 또는 v1.0 확정 + balance-designer 60종 수치 확정 + narrative-designer 카드명 세계관 재매핑 결정 → C50 Phase 2 사전 승인 옵션(a/b/c/d) PD 결정 → 분할 시 Phase 2-A~E 순차 진행 (인터페이스·SO → 중앙 컴포넌트 → 효과 발동기 → 60장 .asset → EditMode 테스트) → Phase 3 개발팀장 검증 → 완료 아카이브. **선행 차단 블로커**: `paths.local.json.UNITY_PROJECT_ROOT: __SET_PER_PC__` 미설정 — 재개 시 PD PC 경로 설정 필요. Phase 1 산출물 1074 라인 설계 문서는 보존 |
|
||||||
| BT7-Dev | 2026-04-24 | **BT7-Plan 개발 집행 Phase 1** — VS 순수형 자동 발동(공격 버튼 제거, PlayerAttackTicker 주기 타이머) + 하트 분할 시스템(Health.maxHearts·QuartersPerHeart·IncreaseMaxHearts·Heal·Decrement(int)) + EditMode 테스트 갱신(10→13) + AttackHitbox 쿼터 단위 피해 통합 + TODO 주석(EnemyController.attackDamage balance v0.2 대기) | **진행중** | Unity 편집 6파일 · BT 산출물 2파일 · 백업 6종. **Unity 외부 레포 `D:/NerdNavis/EerieVillage/`**: `Assets/Scripts/Gameplay/{PlayerAttack.cs(개정), PlayerAttackTicker.cs(신설)+.meta}`·`Assets/Scripts/Mechanics/{Health.cs(전면개정), PlayerController.cs(Attack입력제거·Facing public), AttackHitbox.cs(Decrement(damage)통합)}`·`Assets/Settings/InputSystem_Actions.inputactions(Attack액션·바인딩 완전 제거)`·`Assets/Tests/Editor/PlayerAttackTests.cs(10→13)`. **BT 레포**: `프로젝트/EerieVillage/개발/06_BT7-Plan_VS순수형_재구조.md`(신설) · `공유/개발팀_백업/EerieVillage/*.bak_20260424_1551.*`(6종). PD 수동 검증 2종(Asset import+EditMode Runner 실행·Player.prefab에 PlayerAttackTicker 부착+Play 검증) | — | **PM 수행 대기**: pm-auditor 감사 → BT worktree commit → Unity 외부 레포는 PD Editor 실행 시 GitAutoSync 자동 push → Play 검증 결과(13 tests green + 자동 공격 발동 확인) 수령 → balance/01 v0.2 확정 후 후속 Phase(EnemyController·적 ATK 테이블·HUD 하트 UI) 분리 착수 → 완료 아카이브 이동 |
|
| BT7-Dev | 2026-04-24 | **BT7-Plan 개발 집행 Phase 1** — VS 순수형 자동 발동(공격 버튼 제거, PlayerAttackTicker 주기 타이머) + 하트 분할 시스템(Health.maxHearts·QuartersPerHeart·IncreaseMaxHearts·Heal·Decrement(int)) + EditMode 테스트 갱신(10→13) + AttackHitbox 쿼터 단위 피해 통합 + TODO 주석(EnemyController.attackDamage balance v0.2 대기) | **진행중** | Unity 편집 6파일 · BT 산출물 2파일 · 백업 6종. **Unity 외부 레포 `D:/NerdNavis/EerieVillage/`**: `Assets/Scripts/Gameplay/{PlayerAttack.cs(개정), PlayerAttackTicker.cs(신설)+.meta}`·`Assets/Scripts/Mechanics/{Health.cs(전면개정), PlayerController.cs(Attack입력제거·Facing public), AttackHitbox.cs(Decrement(damage)통합)}`·`Assets/Settings/InputSystem_Actions.inputactions(Attack액션·바인딩 완전 제거)`·`Assets/Tests/Editor/PlayerAttackTests.cs(10→13)`. **BT 레포**: `프로젝트/EerieVillage/개발/06_BT7-Plan_VS순수형_재구조.md`(신설) · `공유/개발팀_백업/EerieVillage/*.bak_20260424_1551.*`(6종). PD 수동 검증 2종(Asset import+EditMode Runner 실행·Player.prefab에 PlayerAttackTicker 부착+Play 검증) | — | **PM 수행 대기**: pm-auditor 감사 → BT worktree commit → Unity 외부 레포는 PD Editor 실행 시 GitAutoSync 자동 push → Play 검증 결과(13 tests green + 자동 공격 발동 확인) 수령 → balance/01 v0.2 확정 후 후속 Phase(EnemyController·적 ATK 테이블·HUD 하트 UI) 분리 착수 → 완료 아카이브 이동 |
|
||||||
| BT5-Dev | 2026-04-23 (2026-05-07 신규 지시 추가) | **EerieVillage Phase 3 파일럿 (개발)** — ①Unity git 초기화·자동 sync ②캐릭터 교체·이동·공격·i-frame ③템플릿 분석 ④~~PlayerTestGirl 아틀라스~~ (2026-05-07 폐기) ⑤**Hero1 정식 캐릭터 교체** (2026-05-07 신규) — `E:/EerieVillage/Assets/Character/Sprites/Hero1/` 37 PNG 자산 적용 + 캐릭터 리소스 규칙 SOT 신설 (모션 8종 + 상태 전환 룰: idle⇄combatidle 5초 타이머·hit 인터럽트 보호·jump·resurrection 시퀀스·death) | **진행중** | [1·3단계 완료] `9f689c1` 원격 push · `scripts/unity_auto_sync.sh` · `01~03_*.md` 분석 3종 [2단계 v0.2 완료] Player·Enemy prefab + 8 EditMode tests [**3단계 PlayerTestGirl 폐기 결정 2026-05-07**] PD 지시로 Hero1 정식 자산 교체. PlayerTestGirl 자산 5종(meta·Idle.anim·Run.anim·Attack.anim·controller·prefab)은 Hero1 기반 재작성 + 신규 자산 추가 (PlayerCombatIdle·PlayerJump·PlayerHit·PlayerResurrection·PlayerDeath.anim). 기존 Player*.png 9종은 `_archive/` 백업 + Hero1 단독 사용. Player.controller 전면 재설계 + Health.cs hit 인터럽트 보호 + 부활 시스템 추가. [**5단계 Hero1 적용 진행중 2026-05-07**] PD 결정 5건 A안 일괄 채택 (`combat idle`→`combatidle` rename·death 모션 8종 확장·jump 1프레임 정합·기존 9종 archive 백업·Land/Spawn/Victory 미사용). 본 PM 매니페스트 등록(`2026-05-07_123431`) + pm-auditor 사전 감사 통과(Critical 0·Major 0·Minor 1·Improvement 2). 본 세션 = `strange-turing-c6797e` worktree 자동 재생성 — 본 작업 후 §6-A 절차 인계 영역 | `프로젝트/EerieVillage/개발/05_PlayerTestGirl_아틀라스_적용.md` (폐기 표기 영역) · `프로젝트/EerieVillage/개발/spec/캐릭터_리소스_규칙_v1.md` (신설) · `프로젝트/EerieVillage/개발/06_Hero1_적용_설계.md` (개발팀장 Opus Phase 1 설계 산출 예정) · Unity 영향 자산 (개발팀장 위임): `Assets/Character/{Sprites/Hero1/*, Animations/{PlayerIdle,PlayerRun,PlayerAttack,PlayerCombatIdle,PlayerJump,PlayerHit,PlayerResurrection,PlayerDeath,Player.controller}}` · `Assets/Prefabs/Player.prefab` · `Assets/Scripts/Mechanics/Health.cs` · `Assets/Tests/Editor/PlayerAttackTests.cs` · `공유/대화로그/EerieVillage/2026-05-07.md` (신설) | — | **C49 표준 프로세스 진행중**: ① 매니페스트 등록 + pm-auditor 감사 ✅ ② 캐릭터 리소스 규칙 SOT 신설 ✅ ③ 개발팀장 Opus Phase 1 설계 ✅ ④ 클라이언트팀 Sonnet Phase 2 적용 ✅ ⑤ 개발팀장 Opus Phase 3 검증 ✅ ⑥ commit `13976e2` + main push ✅ ⑦ **CS0101 사건 + D 옵션 후속 정정** ✅ (PD Editor 실행 시 `.cs.bak_*.cs` 컴파일 에러 → Unity bak_2026* 28 파일 전수 삭제 + Phase 1 §12 백업 명세 전면 정정 + feedback 2종 등록 [`feedback_pm_excessive_decision_request` 헌법급 + `feedback_unity_backup_compile_pollution`]) ⑧ **Hero1 facing 반전 + Collider2D 시각 정합 1차** ✅ (PD 지시 → PM 즉시 처리 — `feedback_pm_excessive_decision_request` 첫 적용. PlayerController spriteRenderer·animator 자식 fallback + Player.prefab BoxCollider2D Size 0.32×0.54→0.45×1.2 + Offset (-0.09,-0.14)→(0,-0.05). PM 시각 판단 실패 — Hero1 "우측 향함"으로 잘못 판단) ⑨ **facing 로직 반전 + Collider Offset 양수 재정정 2차** ✅ ⑩ **피격 무적 깜빡임 + 밟기 복원 + 사망 입력 차단 + 부활 팝업 + 부활 무적** ✅ ⑪ **밟기 점프 판정 강화·Bounce 1/3·낙사 위치 복귀·최적화** ✅ ⑫ **밟기 위치 단독 판정·Enemy Trigger 통과·낙사 카메라 외 대기** ✅ ⑬ **Enemy 등장 복원 + One-Way Platform** ✅ ⑭ **VisualBounds 감지 영역 전환** ✅ (PD 강한 어조 — "한번에 제대로 수정·일관성 영역". PM 자인: Enemy CapsuleCollider2D 0.45×0.09 ground sensor 영역 단독 Bounds.Intersects → 거의 발동 X. 정정 한정 2파일: EnemyController VisualBounds 신규 [spriteRenderer.bounds fallback] + PlayerEnemyCollision 밟기 판정 VisualBounds 기반. 미변경 영역 12종 명시적 보존 — IgnoreCollision·queriesHitTriggers·targetFrameRate·OneWayPlatform·DeathZone·Player.prefab·PlayerController·Health·Flash·Prompt·Enemy.prefab·EnemyController.Awake 그대로) → ⑮ PD Editor 재검증 (3건 — 닿으면 피해·밟기 처치·통과 가능) → 완료 아카이브 이동 |
|
| BT5-Dev | 2026-04-23 (2026-05-07 신규 지시 추가) | **EerieVillage Phase 3 파일럿 (개발)** — ①Unity git 초기화·자동 sync ②캐릭터 교체·이동·공격·i-frame ③템플릿 분석 ④~~PlayerTestGirl 아틀라스~~ (2026-05-07 폐기) ⑤**Hero1 정식 캐릭터 교체** (2026-05-07 신규) — `E:/EerieVillage/Assets/Character/Sprites/Hero1/` 37 PNG 자산 적용 + 캐릭터 리소스 규칙 SOT 신설 (모션 8종 + 상태 전환 룰: idle⇄combatidle 5초 타이머·hit 인터럽트 보호·jump·resurrection 시퀀스·death) | **진행중** | [1·3단계 완료] `9f689c1` 원격 push · `scripts/unity_auto_sync.sh` · `01~03_*.md` 분석 3종 [2단계 v0.2 완료] Player·Enemy prefab + 8 EditMode tests [**3단계 PlayerTestGirl 폐기 결정 2026-05-07**] PD 지시로 Hero1 정식 자산 교체. PlayerTestGirl 자산 5종(meta·Idle.anim·Run.anim·Attack.anim·controller·prefab)은 Hero1 기반 재작성 + 신규 자산 추가 (PlayerCombatIdle·PlayerJump·PlayerHit·PlayerResurrection·PlayerDeath.anim). 기존 Player*.png 9종은 `_archive/` 백업 + Hero1 단독 사용. Player.controller 전면 재설계 + Health.cs hit 인터럽트 보호 + 부활 시스템 추가. [**5단계 Hero1 적용 진행중 2026-05-07**] PD 결정 5건 A안 일괄 채택 (`combat idle`→`combatidle` rename·death 모션 8종 확장·jump 1프레임 정합·기존 9종 archive 백업·Land/Spawn/Victory 미사용). 본 PM 매니페스트 등록(`2026-05-07_123431`) + pm-auditor 사전 감사 통과(Critical 0·Major 0·Minor 1·Improvement 2). 본 세션 = `strange-turing-c6797e` worktree 자동 재생성 — 본 작업 후 §6-A 절차 인계 영역 | `프로젝트/EerieVillage/개발/05_PlayerTestGirl_아틀라스_적용.md` (폐기 표기 영역) · `프로젝트/EerieVillage/개발/spec/캐릭터_리소스_규칙_v1.md` (신설) · `프로젝트/EerieVillage/개발/06_Hero1_적용_설계.md` (개발팀장 Opus Phase 1 설계 산출 예정) · Unity 영향 자산 (개발팀장 위임): `Assets/Character/{Sprites/Hero1/*, Animations/{PlayerIdle,PlayerRun,PlayerAttack,PlayerCombatIdle,PlayerJump,PlayerHit,PlayerResurrection,PlayerDeath,Player.controller}}` · `Assets/Prefabs/Player.prefab` · `Assets/Scripts/Mechanics/Health.cs` · `Assets/Tests/Editor/PlayerAttackTests.cs` · `공유/대화로그/EerieVillage/2026-05-07.md` (신설) | — | **C49 표준 프로세스 진행중**: ① 매니페스트 등록 + pm-auditor 감사 ✅ ② 캐릭터 리소스 규칙 SOT 신설 ✅ ③ 개발팀장 Opus Phase 1 설계 ✅ ④ 클라이언트팀 Sonnet Phase 2 적용 ✅ ⑤ 개발팀장 Opus Phase 3 검증 ✅ ⑥ commit `13976e2` + main push ✅ ⑦ **CS0101 사건 + D 옵션 후속 정정** ✅ (PD Editor 실행 시 `.cs.bak_*.cs` 컴파일 에러 → Unity bak_2026* 28 파일 전수 삭제 + Phase 1 §12 백업 명세 전면 정정 + feedback 2종 등록 [`feedback_pm_excessive_decision_request` 헌법급 + `feedback_unity_backup_compile_pollution`]) ⑧ **Hero1 facing 반전 + Collider2D 시각 정합 1차** ✅ (PD 지시 → PM 즉시 처리 — `feedback_pm_excessive_decision_request` 첫 적용. PlayerController spriteRenderer·animator 자식 fallback + Player.prefab BoxCollider2D Size 0.32×0.54→0.45×1.2 + Offset (-0.09,-0.14)→(0,-0.05). PM 시각 판단 실패 — Hero1 "우측 향함"으로 잘못 판단) ⑨ **facing 로직 반전 + Collider Offset 양수 재정정 2차** ✅ ⑩ **피격 무적 깜빡임 + 밟기 복원 + 사망 입력 차단 + 부활 팝업 + 부활 무적** ✅ ⑪ **밟기 점프 판정 강화·Bounce 1/3·낙사 위치 복귀·최적화** ✅ ⑫ **밟기 위치 단독 판정·Enemy Trigger 통과·낙사 카메라 외 대기** ✅ ⑬ **Enemy 등장 복원 + One-Way Platform** ✅ ⑭ **VisualBounds 감지 영역 전환** ✅ ⑮ **Distance 기반 단순 감지 + 기획팀 검증 방안** ✅ (PD 강한 어조 — "어떻게 해야 제대로 동작·기획팀 참여 영역". PM 자인: 추측·Bounds 산수 의존 폐기. EnemyController hitRangeX 0.7·hitRangeY 1.0·stompMinDy 0.5 public 영역 + Update Distance 감지 [Bounds 무관·항상 작동]. PlayerEnemyCollision dyAtCollision 필드 + 밟기 dy>0.5 판정. 기획팀 참여 방안 = 기획팀장 Task 호출·PlayMode 테스트 자동·기획서 검증 체크리스트 자동 생성 [본 응답 후속 별건]) → ⑯ PD Editor 재검증 (Distance 영역 안정 감지) → 완료 아카이브 이동 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -724,3 +724,69 @@ if (animator == null) animator = GetComponentInChildren<Animator>();
|
||||||
- PD 일관성 명시 영역 — 다른 영역 변경 X 의무
|
- PD 일관성 명시 영역 — 다른 영역 변경 X 의무
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 엔트리 12. Distance 기반 단순 감지 + 기획팀 검증 운용 방안 (PM 자인·근본 영역)
|
||||||
|
|
||||||
|
**시각**: 2026-05-07 15:20 ~
|
||||||
|
**주체**: 총괄PM
|
||||||
|
**영역**: BT5-Dev #16
|
||||||
|
|
||||||
|
### PD 원문
|
||||||
|
|
||||||
|
> "그래서 어떻게 해야 제대로 동작하는건데? 똑바로 일해! 내 플레이에만 의지하지말고 기획팀에도 참여할 수 있도록 방법을 찾아봐."
|
||||||
|
|
||||||
|
### PM 자인
|
||||||
|
|
||||||
|
엔트리 11까지 본 PM 영역:
|
||||||
|
- 추측 + Debug.Log 추가 = PD에게 검증 떠넘김
|
||||||
|
- Bounds.Intersects 영역 산수 의존 — 100% 정합 보장 X
|
||||||
|
- Unity MCP 영역 본 세션 미활성 (Claude Desktop만 등록 BT3) → 본 PM 직접 Play 검증 X 영역
|
||||||
|
- 활용 가능 영역 미적극 활용
|
||||||
|
|
||||||
|
C5·C44·C2 근본 위배.
|
||||||
|
|
||||||
|
### 정정 영역 — Distance 기반 단순 감지 (Bounds 의존 폐기)
|
||||||
|
|
||||||
|
| 영역 | 변경 |
|
||||||
|
|------|-----|
|
||||||
|
| `EnemyController.cs` | hitRangeX(0.7)·hitRangeY(1.0)·stompMinDy(0.5) public 영역 신규. Update 감지 영역 = `Mathf.Abs(pPos.x-ePos.x) < hitRangeX && Mathf.Abs(dy) < hitRangeY`. dy 측정 후 PlayerEnemyCollision.dyAtCollision로 전달 |
|
||||||
|
| `PlayerEnemyCollision.cs` | `dyAtCollision` 필드 신규. 밟기 판정 = `dyAtCollision > enemy.stompMinDy` (Bounds 산수 영역 폐기) |
|
||||||
|
|
||||||
|
**근거**: Distance·Y차 영역은 Unity Bounds·Collider·SpriteRenderer 영역과 무관 = **항상 작동 보장**. Inspector 영역 hitRange·stompMinDy 조정 영역 가능 (PD/기획팀 조정).
|
||||||
|
|
||||||
|
### 미변경 영역 (영구 보존)
|
||||||
|
|
||||||
|
`Physics2D.IgnoreCollision`·`queriesHitTriggers`·`fixedDeltaTime`·`targetFrameRate`·`SetupOneWayPlatforms`·`DeathZone Coroutine`·`Player.prefab`·`flipX`·`LastGroundedPosition`·`Health` i-frame·`Flash`·`Prompt`·`Enemy.prefab` IsTrigger=0·`EnemyController.Awake` IgnoreCollision — 그대로.
|
||||||
|
|
||||||
|
### PD 명령 2번 — 기획팀 참여 방안
|
||||||
|
|
||||||
|
**즉시 적용 영역**:
|
||||||
|
1. **기획팀장 호출 (Task)** — BT5-Dev 본 변경 영역(밟기·통과·낙사·부활) 메카닉 정합성 + 게임 디자인 의도 검토. system-designer·ux-designer 영역 활용 가능
|
||||||
|
2. **PlayMode 테스트 자동 영역** — Unity Test Framework PlayMode. PD/기획팀이 Test Runner 클릭만으로 자동 검증. 본 PM이 시나리오 작성 → 결과 자동
|
||||||
|
3. **기획서 검증 체크리스트 자동 생성** — 기획팀이 명세 작성 → 본 PM PlayMode 테스트로 변환 → 자동 검증
|
||||||
|
|
||||||
|
**별건 권고**:
|
||||||
|
- Unity MCP 영역 Claude Code CLI 영역 활성화 (BT3 가이드 v2 영역에서 Claude Desktop만 등록 영역 — Claude Code 영역 도입 시 본 PM 직접 Play 영역 가능)
|
||||||
|
- Editor PlayMode 자동 실행 영역 (-batchmode + UnityTestRunner) — CI 영역
|
||||||
|
|
||||||
|
본 응답 = 즉시 Distance 정정 + 본건 별건 후속 영역.
|
||||||
|
|
||||||
|
### 산출물
|
||||||
|
|
||||||
|
- `E:/EerieVillage/Assets/Scripts/Mechanics/EnemyController.cs` (Distance 기반 감지·hitRangeX/Y·stompMinDy)
|
||||||
|
- `E:/EerieVillage/Assets/Scripts/Gameplay/PlayerEnemyCollision.cs` (dyAtCollision·stomped 판정)
|
||||||
|
|
||||||
|
### PD Play 검증
|
||||||
|
|
||||||
|
- 평지 옆 닿으면 Console `[EnemyDiag] inRange=true dx=... dy=...` 출력 + 피해 1쿼터
|
||||||
|
- 점프 후 Enemy 위 하강 → dy > 0.5 → `[PEC] stomped=true` → EnemyDeath + Bounce
|
||||||
|
- 통과는 `Physics2D.IgnoreCollision`로 그대로
|
||||||
|
|
||||||
|
### 관련 규칙·자산
|
||||||
|
|
||||||
|
- C2 근본 (Bounds 산수 의존 → Distance 단순 영역)
|
||||||
|
- C5·C44 본 PM 자인
|
||||||
|
- `feedback_pm_excessive_decision_request` 즉시 진행
|
||||||
|
- 기획팀 활용 = 별건 후속 (Task 호출·PlayMode 테스트 영역)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue