fix(BT12-Dev): A06 독 늪 등 Effector trigger collider 통과 (PD 진단 2026-05-14)
PD 보고 + Console 로그 결정적:
"[Projectile][WallHit-OnTrigger] cardId=A02 other=PoisonSwamp_Collider
parent=FX_Venom_Swamp(Clone) layer=0(Default) isTrigger=True
pos=(-7.30, -0.30, 0.00) dist=5.00/8"
원인: 직전 commit 708ba08 isWall = (Layer 0) 정정 후에도 A06 독 늪
PoisonSwamp_Collider (Layer 0 + isTrigger=true) 가 Wall 판정 통과 →
빠른 투사체 (A02 dist=5/8 = 62.5%) 조기 SelfDestruct.
느린 A13 정상은 0.1초 grace 통과 + 짧은 거리 우연 회피.
정정:
- isWall = (Layer 0) && !other.isTrigger
- Level Tilemap (non-trigger) 만 Wall 차단
- Effector spawn trigger collider (A06 독 늪·CinemachineConfiner·
Token·DeathZone·기타 Layer 0 Trigger) 모두 통과
Wall OverlapPoint (Update L186) 영역 이미 filter.useTriggers=false 로
trigger 제외 정합 — 변경 불필요.
진단 Debug.Log 2건 회수 (목적 달성).
검증 (PD Play 확인 필요):
- A02 (속도 6)·A08·A14·A15 빠른 투사체 MaxRange 까지 정상 비행
- 독 늪 범위 통과
- Level Tilemap 벽 충돌 시 SelfDestruct 유지
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4c00378d78
commit
1ab60ed0c3
|
|
@ -193,15 +193,6 @@ namespace EerieVillage.Skills.Effectors
|
||||||
int hitCount = Physics2D.OverlapPoint(transform.position, filter, results);
|
int hitCount = Physics2D.OverlapPoint(transform.position, filter, results);
|
||||||
if (hitCount > 0)
|
if (hitCount > 0)
|
||||||
{
|
{
|
||||||
// PD 지시 2026-05-14 — 빠른 투사체 맵 경계 멈춤 진단 — OverlapPoint hit 정보 출력
|
|
||||||
var hit = results[0];
|
|
||||||
Debug.Log("[Projectile][WallHit-OverlapPoint] cardId=" + _data.CardId
|
|
||||||
+ " hit=" + (hit != null ? hit.gameObject.name : "?")
|
|
||||||
+ " parent=" + (hit != null && hit.transform.parent != null ? hit.transform.parent.name : "ROOT")
|
|
||||||
+ " layer=" + (hit != null ? hit.gameObject.layer : -1)
|
|
||||||
+ " pos=" + transform.position
|
|
||||||
+ " dist=" + Vector2.Distance(transform.position, _spawnPosition).ToString("F2")
|
|
||||||
+ "/" + _maxRange);
|
|
||||||
SelfDestruct();
|
SelfDestruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -278,21 +269,15 @@ namespace EerieVillage.Skills.Effectors
|
||||||
// Layer 0 (Default·Ground) · Layer 16 (Foreground·발판) 영역 영역 Tilemap·Composite·Box collider 영역 정합.
|
// Layer 0 (Default·Ground) · Layer 16 (Foreground·발판) 영역 영역 Tilemap·Composite·Box collider 영역 정합.
|
||||||
// 레이저 영역 영역 영역 영역 영역 X — 본 Projectile 영역 영역 (영역 영역 영역 영역 X) — 모든 Projectile 영역 SelfDestruct.
|
// 레이저 영역 영역 영역 영역 영역 X — 본 Projectile 영역 영역 (영역 영역 영역 영역 X) — 모든 Projectile 영역 SelfDestruct.
|
||||||
// PD 지시 2026-05-14 — 화면 스크롤 시 Floating 발판 (Layer 16 Foreground) 통과 후 SelfDestruct
|
// PD 지시 2026-05-14 — 화면 스크롤 시 Floating 발판 (Layer 16 Foreground) 통과 후 SelfDestruct
|
||||||
// 회귀 정정. Wall = Layer 0 (Level Tilemap·메인 ground) 만 SelfDestruct.
|
// 회귀 정정. Wall = Layer 0 (Level Tilemap·메인 ground) + non-trigger 만 SelfDestruct.
|
||||||
// Floating 발판은 Player·Enemy 점프 통과 의도이며 Projectile 도 통과 정합.
|
// Floating 발판은 Player·Enemy 점프 통과 의도이며 Projectile 도 통과 정합.
|
||||||
|
// PD 지시 2026-05-14 — A06 독 늪 PoisonSwamp_Collider (Layer 0·isTrigger=true) 등
|
||||||
|
// Effector spawn trigger collider 가 OnTrigger Wall 판정에 걸려 빠른 투사체 조기 SelfDestruct
|
||||||
|
// 회귀 → !isTrigger 추가. Level Tilemap (non-trigger) 만 Wall 차단.
|
||||||
int otherLayer = other.gameObject.layer;
|
int otherLayer = other.gameObject.layer;
|
||||||
bool isWall = (otherLayer == 0);
|
bool isWall = (otherLayer == 0) && !other.isTrigger;
|
||||||
if (isWall)
|
if (isWall)
|
||||||
{
|
{
|
||||||
// PD 지시 2026-05-14 — 빠른 투사체 맵 경계 멈춤 진단 — Wall hit collider 정보 출력
|
|
||||||
Debug.Log("[Projectile][WallHit-OnTrigger] cardId=" + _data.CardId
|
|
||||||
+ " other=" + other.gameObject.name
|
|
||||||
+ " parent=" + (other.transform.parent != null ? other.transform.parent.name : "ROOT")
|
|
||||||
+ " layer=" + otherLayer + "(" + UnityEngine.LayerMask.LayerToName(otherLayer) + ")"
|
|
||||||
+ " isTrigger=" + other.isTrigger
|
|
||||||
+ " pos=" + transform.position
|
|
||||||
+ " dist=" + Vector2.Distance(transform.position, _spawnPosition).ToString("F2")
|
|
||||||
+ "/" + _maxRange);
|
|
||||||
SelfDestruct();
|
SelfDestruct();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue