fix(BT12-Dev): A06 독 늪 Player fallback y -0.5 (PD 지시 2026-05-15)
PD 보고: "독늪이 플레이어 위치에서 생성될 경우 플레이어의 Y값에서
-0.5정도 아래의 위치에 생겨야할거 같아"
직전 commit 3c5a3bc 의 Player fallback ground Raycast 영역 — Player
ground 위 발판 hit (예: -2.61) → spawn 위치 ground 표면. PD 의도는
Player.y - 0.5 직접 (시각 정합·발 아래 한 키 정도).
분기 정정:
- nearest != null (지상 Enemy 후보): Enemy 위치 ground Raycast (기존 영역)
- nearest == null (공격 가능 적 없음·Player fallback):
spawnPos = (playerPos.x + OffsetXY.x, playerPos.y - 0.5 + OffsetXY.y)
· ground Raycast 폐기 · PD 명시 수치 직접
검증 (Play 모드):
- 비박쥐 13기 사망 + 박쥐 1기만 (IsFlying skip)
- Player pos=(-15.14, -2.21) · OffsetXY=(0, -0.4)
- Swamp pos=(-15.14, -3.11) = Player.y - 0.5 + OffsetXY.y(-0.4) 정합
OffsetXY는 PD Inspector 추가 미세 조정 영역 (현 -0.4).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3c5a3bce31
commit
664607aff4
|
|
@ -45,15 +45,21 @@ namespace EerieVillage.Skills.Effectors
|
|||
if (d < minDist) { minDist = d; nearest = e; }
|
||||
}
|
||||
|
||||
Vector2 candidate = nearest != null ? (Vector2)nearest.transform.position : playerPos;
|
||||
candidate += data.OffsetXY;
|
||||
|
||||
// PD 지시 2026-05-15 — ground Raycast 영역 ground 영역 영역 spawn (공중 spawn 차단)
|
||||
// groundLayerMask = Layer 0 (Level Tilemap) + Layer 16 (Floating 발판)
|
||||
int groundLayerMask = (1 << 0) | (1 << 16);
|
||||
RaycastHit2D groundHit = Physics2D.Raycast(candidate, Vector2.down, 20f, groundLayerMask);
|
||||
if (groundHit.collider == null) return; // ground 미검출 — spawn 차단
|
||||
Vector2 spawnPos = new Vector2(candidate.x, groundHit.point.y);
|
||||
Vector2 spawnPos;
|
||||
int groundLayerMask = (1 << 0) | (1 << 16); // Level Tilemap + Floating 발판
|
||||
if (nearest != null)
|
||||
{
|
||||
// 지상 Enemy 영역 — Enemy 위치 ground Raycast (정확한 ground.y)
|
||||
Vector2 candidate = (Vector2)nearest.transform.position + data.OffsetXY;
|
||||
RaycastHit2D groundHit = Physics2D.Raycast(candidate, Vector2.down, 20f, groundLayerMask);
|
||||
if (groundHit.collider == null) return;
|
||||
spawnPos = new Vector2(candidate.x, groundHit.point.y);
|
||||
}
|
||||
else
|
||||
{
|
||||
// PD 지시 2026-05-15 — 공격 가능 적 없을 시 Player.x 위치·Player.y - 0.5 직접 (ground Raycast 영역 X)
|
||||
spawnPos = new Vector2(playerPos.x + data.OffsetXY.x, playerPos.y - 0.5f + data.OffsetXY.y);
|
||||
}
|
||||
|
||||
// 독 늪 GO spawn (OnHitFxPrefab = FX_Venom_Swamp)
|
||||
GameObject swampGo;
|
||||
|
|
|
|||
Loading…
Reference in New Issue