BT5-Dev #57: Drop-Through 진단 Debug.Log 추가
PD 보고 (2026-05-07): "발판을 다시 통과해서 이동하거나 점프할 수 없게 되었어" 본 PM 알고리즘 영역 진단 결과 (모두 정합): - BT55 자동 분류 [BT55-MoveTiles] moved=1389 (BT47 정합) - Player Layer 13 / Foreground Layer 16 - Layer Matrix 13 ↔ 16 충돌 ON - PlayerController.UpdateContactFilterForDropThrough 표준 패턴 = 알고리즘 영역 정합 + PD 보고 점프 X = 본 PM 미식별 영역. BT57 진단 Debug.Log 추가: - 출력 시점: 점프 시점 (jump || PrepareToJump || Jumping || InFlight velY>0.5) - 출력 영역: jumpState·velocity.y·standingOnPlatform·mask16(Layer 16 mask)·transform.y·bounds.min.y - log spam 방지 (점프 시점만) PD Refresh+Play 후 본 PM Editor.log [BT57-DropThrough] direct read 후 진단: - jumpState 영역 정상 전환 검증 (Grounded → PrepareToJump → Jumping) - mask16 = false (ascending 시 mask OFF) 확증 - standingOnPlatform 영역 정상 검출 검증 알고리즘 정합 + 진단 결과로 후속 정정 영역 결정.
This commit is contained in:
parent
7693ec9137
commit
609ef5c57b
|
|
@ -221,6 +221,13 @@ namespace Platformer.Mechanics
|
|||
int mask = standingOnPlatform ? baseMask : (baseMask & ~(1 << JUMP_THROUGH_LAYER));
|
||||
contactFilter.SetLayerMask(mask);
|
||||
contactFilter.useLayerMask = true;
|
||||
|
||||
// BT57 — 진단 (점프 시점·발판 영역만 출력. PD Refresh+Play 후 본 PM Editor.log direct read 의무)
|
||||
if (jump || jumpState == JumpState.PrepareToJump || jumpState == JumpState.Jumping
|
||||
|| (jumpState == JumpState.InFlight && Mathf.Abs(velocity.y) > 0.5f))
|
||||
{
|
||||
Debug.Log($"[BT57-DropThrough] state={jumpState} velY={velocity.y:F2} stand={standingOnPlatform} mask16={(mask & (1<<JUMP_THROUGH_LAYER)) != 0} pos={transform.position.y:F2} bounds.min.y={(collider2d!=null?collider2d.bounds.min.y:0):F2}");
|
||||
}
|
||||
}
|
||||
|
||||
protected override void ComputeVelocity()
|
||||
|
|
|
|||
Loading…
Reference in New Issue