fix(BT12-Dev): 직전 Kinematic Rigidbody2D 회귀 정정 — Static vs Kinematic Trigger 정합 복원

회귀 사실 (C3 자진 고지):
- 직전 fix `fe65592` Projectile Rigidbody2D Kinematic 추가
- Enemy = KinematicObject 상속 → Rigidbody2D Kinematic
- → Kinematic vs Kinematic + useFullKinematicContacts=false (기본값)
- → OnTriggerEnter2D 발화 X → 적 피격 X 회귀

근본 원인:
- C39 위반 — Enemy Rigidbody2D type 사전 실측 X
- KinematicObject.cs:76 영역 Read X·라이프사이클 검증 X

해결 (옵션 C — 단순 회귀):
- ProjectileSpawner.CreateFallbackProjectile 영역 Rigidbody2D 추가 영역 5 라인 제거
- Static Collider + Enemy Kinematic Rigidbody2D = OnTriggerEnter2D 발화 정합 복원
- `33eaa55` 시점 동작 정합 영역 복원 (DebuffStackLimit 정정 영역 그대로 유지)

자성 추가:
- 헌법급 feedback `feedback_new_code_existing_system_dependency_unmeasured` 신설
- 신규 코드 영역 기존 시스템 의존성 미실측 금지 (재발 차단 3 단계)

PD 보고 (2026-05-09 3차): "여전히 적이 플레이어의 투사체에 피격되지 않아" 회귀 정정.
This commit is contained in:
깃 관리자 2026-05-09 22:41:44 +09:00
parent fe6559238f
commit 9eebbec03a
1 changed files with 4 additions and 7 deletions

View File

@ -81,13 +81,10 @@ namespace EerieVillage.Skills.Effectors
col.isTrigger = true;
col.radius = 0.2f;
// BT12-Dev 2026-05-09 — Trigger 판정 안정성 보강:
// Unity 2D OnTriggerEnter2D 발화는 양쪽 중 한쪽 Rigidbody2D 영역 의무.
// transform.position 이동 영역 Physics2D 동기화 안정성 확보 위해 Kinematic Rigidbody2D 부착.
var rb = go.AddComponent<Rigidbody2D>();
rb.bodyType = RigidbodyType2D.Kinematic;
rb.gravityScale = 0f;
rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
// BT12-Dev 2026-05-09 — Rigidbody2D 부재 유지 (Static Collider).
// Enemy = KinematicObject 상속 → Rigidbody2D Kinematic.
// Static vs Kinematic = OnTriggerEnter2D 발화 정합 (Unity 2D Physics 표준).
// 직전 시도 Kinematic Rigidbody2D 추가는 Kinematic vs Kinematic 영역 OnTriggerEnter2D 발화 X 영역 회귀 → 폐기.
var sr = go.AddComponent<SpriteRenderer>();
sr.sprite = GetOrCreateFallbackSprite();