From 589f6ad258888ad1f048be9f69bc7d5f83616115 Mon Sep 17 00:00:00 2001 From: swrring Date: Fri, 8 May 2026 15:29:22 +0900 Subject: [PATCH] =?UTF-8?q?BT5-Dev=20#106:=20y=20=EC=98=81=EC=97=AD=20?= =?UTF-8?q?=EC=98=81=EA=B5=AC=20=EA=B3=A0=EC=A0=95=20(=EB=96=A8=EC=96=B4?= =?UTF-8?q?=EC=A7=90=20=EC=98=81=EA=B5=AC=20=EC=B0=A8=EB=8B=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD 명시 (2026-05-08): "여전히 떨어졌다 복귀하는 모습 잔존·수정할 수 없어?" 본 PM 측정·검출 영역 22회 가설 누적 부정확. 근본 해결: 정정 (BT106): - UpdatePatrol 시작 영역에 y 영역 강제 고정: - |transform.y - _startY| > 0.1f 시 = 즉시 _startY 복귀 - transform.position + body.position 동시 set - control.velocity.y = 0 강제 (gravity 영향 차단) 효과: - Enemy 영역 매 frame _startY 영역에 영구 고정 → 떨어짐 영역 0.1m 이상 발생 X - BT102 텔레포트 영역 = 보조 fallback (트리거 X 가설) - patrol 영역 = X 영역만 이동 (Y 고정) - 시각상 = 자연 patrol (Y 변화 X·발판 외 영역 도달 X) 부수 효과: - Enemy 영역 = 발판 위 영역 영구 (gravity X) - 다른 높이 발판 patrol 영역 X (시작 위치 Y 영역만) --- Assets/Scripts/Mechanics/EnemyController.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Assets/Scripts/Mechanics/EnemyController.cs b/Assets/Scripts/Mechanics/EnemyController.cs index 8db23e9..9d695f4 100644 --- a/Assets/Scripts/Mechanics/EnemyController.cs +++ b/Assets/Scripts/Mechanics/EnemyController.cs @@ -210,6 +210,16 @@ namespace Platformer.Mechanics return; } + // BT106 — y 강제 고정 (PD 명시 2026-05-08): Enemy 영역 매 frame _startY 영역 영구 위치 + // 떨어짐 영역 0.1m 이상 발생 시 = 즉시 _startY 복귀 → 떨어짐 영역 영구 차단 + if (Mathf.Abs(transform.position.y - _startY) > 0.1f) + { + Vector3 fixedY = new Vector3(transform.position.x, _startY, transform.position.z); + transform.position = fixedY; + if (_body != null) _body.position = fixedY; + if (control != null) control.velocity = new Vector2(control.velocity.x, 0f); + } + // 대기 영역 — control.move.x = 0 + Timer 감소 if (_waitTimer > 0f) {