EerieVillage/Assets/Scripts
깃 관리자 a6e0c0d56d BT5-Dev #40: ContactFilter2D mask 동적 갱신 (개발팀장 진단·KinematicObject raycast 정합)
PD 지시: 개발팀과 논의 후 보고
개발팀장 Opus 직접 진단:

근본 원인:
- KinematicObject.Start()에서 contactFilter.SetLayerMask() 한 번 캐싱
- 이후 Physics2D.IgnoreLayerCollision으로 Layer Matrix 토글해도 contactFilter는 갱신 X
- body.Cast() raycast 영역 contactFilter 활용 = Layer Matrix 영역 무관
- 본 PM 19회 시도 모두 raycast 영역 미적용 = 발판 충돌 그대로 감지

해결 (Unity Kinematic2D 표준 Drop-Through 패턴):
- PlayerController.UpdateContactFilterForDropThrough — velocity.y > 0 (상승) 영역 Layer 16 mask 비활성
- contactFilter.SetLayerMask() 매 프레임 동적 갱신 = raycast가 발판 영역 무시
- GameOptimizer Physics2D.IgnoreLayerCollision(13, 16, false) 라인 폐기 (Layer Matrix 항시 ON 유지)
- BT39 Coroutine 영역 폐기

본 PM 자인:
- KinematicObject body.Cast() vs Rigidbody2D OnCollisionEnter 별도 경로 미인지
- ContactFilter2D 캐싱 동작 미인지
- 19회 시도 모두 Rigidbody collision callback 영역 (raycast 영역 무관)

동작:
- 점프 상승 (velocity.y > 0.01) → contactFilter mask Layer 16 비트 제거 → raycast 발판 영역 무시 → 통과
- 하강·정지 → mask 복원 → raycast 발판 영역 감지 → 착지
2026-05-07 18:16:01 +09:00
..
Core initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Gameplay BT5-Dev #37: 점프+Player 위(transform.y) 단순 조건 (PD 의도 정확 — '점프 후 밟을 때 통과' 차단) 2026-05-07 18:04:08 +09:00
Mechanics BT5-Dev #40: ContactFilter2D mask 동적 갱신 (개발팀장 진단·KinematicObject raycast 정합) 2026-05-07 18:16:01 +09:00
Model initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
MyUI 로비 ui 등 2026-04-28 17:01:58 +09:00
UI BT5-Dev #16: PM 변경 영역 일괄 commit (PD Editor GitAutoSync 영역 도달) 2026-05-07 15:29:34 +09:00
View initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Core.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Gameplay.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Mechanics.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Model.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
MyUI.meta 로비 ui 등 2026-04-28 17:01:58 +09:00
UI.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
View.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00