BT5-Dev #22 진정한 근본: Enemy.prefab m_Layer 13→14 + m_TagString Player→Untagged + IgnoreLayerCollision(13,14)

본 PM 자인 (C5·C39·C44):
- BT5-Dev #1~#21 동안 Enemy.prefab m_Layer/m_TagString 영역 검증 X 누적
- Enemy의 m_Layer=13 (Player와 동일) + m_TagString=Player (Player tag 중복) = 진정한 근본
  → FindGameObjectWithTag("Player")가 Enemy 발견 + Layer 동일로 IgnoreCollision도 효과 X
- 본 PM이 추측·Bounds·Distance·IgnoreCollision·OneWay 영역 모두 = 도달 영역 외 정정

정정:
- Enemy.prefab m_Layer 13→14
- Enemy.prefab m_TagString Player→Untagged
- GameOptimizer Physics2D.IgnoreLayerCollision(13, 14, true) BeforeSceneLoad

영구 효과:
- FindGameObjectWithTag("Player") = Player.prefab만 발견 정합
- Player Layer 13 ↔ Enemy Layer 14 충돌 OFF = 통과 정합
- IgnoreCollision instance 영역 의존 X = 안전
This commit is contained in:
깃 관리자 2026-05-07 16:09:54 +09:00
parent 874f58a66e
commit 806e5f722e
2 changed files with 7 additions and 2 deletions

View File

@ -17,9 +17,9 @@ GameObject:
- component: {fileID: 772289407653213039}
- component: {fileID: 5843668731025413174}
- component: {fileID: 7700000000000000002}
m_Layer: 13
m_Layer: 14
m_Name: Enemy
m_TagString: Player
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0

View File

@ -15,6 +15,11 @@ namespace Platformer.Mechanics
Application.targetFrameRate = 60;
QualitySettings.vSyncCount = 0;
Time.fixedDeltaTime = 1f / 60f;
// BT5-Dev #22 — Layer 영역 분리: Player(13) ↔ Enemy(14) 충돌 영구 OFF.
// IgnoreCollision 영역 instance 의존 X = 모든 Player·Enemy 영역 자동 통과 영역.
Physics2D.IgnoreLayerCollision(13, 14, true);
Debug.Log($"[BT22-LayerSep] Player(13) ↔ Enemy(14) collision OFF");
}
/// <summary>