PD 보고:
1. "Enemy_M002_Bat 몬스터는 날으는 몬스터이기 때문에 y위치를 높이고
싶은데 자꾸 땅으로 내려오는 현상을 수정해줘."
2. "이 몬스터가 이동하지 못하는 이유를 체크해보고 수정해줘."
원인 진단:
1. KinematicObject.FixedUpdate L107 else 분기 (velocity.y>=0)
gravityModifier 무시·무조건 Physics2D.gravity 적용
→ 박쥐 gravityModifier=0 해도 천천히 떨어짐
2. EnemyController.UpdatePatrol cliffCheck Raycast 영역 공중 박쥐
발 밑 ground 없음 → 즉시 TriggerReverse → 1초 cooldown 후 다시
검출 → 무한 좌우 반전 → 이동 0
3. EnemyController.Update L361 fallThreshold 떨어짐 검출
→ 강제 텔레포트 _startY 복귀
정정:
1. KinematicObject.FixedUpdate else 분기에도 gravityModifier 곱
gravityModifier=0 → 자연 중력 무효 (Player gravityModifier=1 영역
영향 X·기존 동작 보존)
2. EnemyController.IsFlying bool 신규 (Inspector)
- Awake 영역 IsFlying=true → control.gravityModifier=0·velocity=0
- UpdatePatrol cliffCheck 영역 !IsFlying 분기 (cliff skip)
- Update 떨어짐 텔레포트 영역 !IsFlying 분기 (skip)
3. MonsterRandomizer.flyingFlags bool[] 신규 (Inspector·동일 length)
- Awake 영역 random idx · flyingFlags[idx]=true → EnemyController.IsFlying=true 자동 set
검증 (Play 모드):
- IsFlying=true 강제 set + y +3 이동
- [t=0] pos.y=0.50 · gravMod=0
- [t=3s] pos.y=0.50 (유지·떨어짐 X) · velocity=(-3.50, 0) (x patrol 이동·y 0)
PD 후속: Enemy.prefab Inspector MonsterRandomizer.flyingFlags 영역
박쥐 (M002) idx 영역 true 설정 필요.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD: "몬스터도 발판 자유 통과"
PD: "몬스터 랜덤 변경"
근본 (MCP 자율 실측):
1. Enemy 발판 통과
- Layer 14 (Enemy) ↔ Layer 0 (발판) collide=True → Enemy 발판 영역
- PlatformEffector2D surfaceArc 170°·옆 영역 통과·발판 위 영역 영역
- fix: EnemyController.Awake 영역 PlatformEffector2D 영역 IgnoreCollision 일괄 등록
→ Enemy 16개 × 발판 17개 모두 IgnoreCollision·발판 영역 영역 X·자유 통과
2. 몬스터 랜덤
- 직전 MonsterRandomizer 폐기 (Animator 영역)
- 영역 영역 — 6 Override Controller·24 Clip 신규 영역 영역 영역 영역 영역
- 영역 — SpriteRenderer.color 6 random tint
White·Red·Green·Blue·Yellow·Purple·Awake 1회 random
- Animator (Idle·Run·Hurt·Death) 정합 유지·sprite swap X·tint만 영역
- 영역 영역 영역·영역 영역 영역 영역
회귀 영역 X:
- One-Way Platform·Player 영역 영역 X·Camera·Wall LayerMask·Composite 정합
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD: "이동·죽음·히트 애니메이션 재생 X → 잘 나오도록 수정"
PD: "맵 전체 patrol → 자신 주위 적절 범위 patrol"
근본 (MCP 자율 실측):
1. 애니메이션 — MonsterRandomizer.Awake line 28 `anim.enabled = false`
- Animator 비활성 → AnimationController.SetFloat("velocityX", ...) 영향 X
- Idle/Run/Hurt/Death state 영역 영역 X·sprite 수동 idle만
- fix: anim.enabled=false 제거·sprite 수동 영역 폐기·Animator Clip 정합
- Enemy.controller transition·parameter 정합 (직전 entry 7 fix 영역)
2. patrol 범위 — Enemy.prefab patrolMin=50·Max=75 (맵 전체)
- Camera ortho 5.0·camWidth 17.78·주위 영역 영역 5~10 unit 정합
- fix: patrolMin=5·Max=10 (Enemy.prefab 영역·Scene 16 instance 자동 반영)
회귀 영역 (Minor 사전 고지):
- 6종 random idle 영역 영역 영역 X — 모든 Enemy 동일 외형
- 6종 random visual 다양성 영역 후속 안건 (Sprite 동적 randomization·6 controller·SubStateMachine)·본 fix 영역 외
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>