Commit Graph

3 Commits

Author SHA1 Message Date
깃 관리자 daad31171b fix(BT12-Dev): Clip path Visual → '' + VisualBounds → Collider bounds
PD 영역 1: 이동 애니메이션 재생 X
PD 영역 2: Player·Enemy 충돌 시 피해 X

근본:
1. 애니메이션 — Animator가 Visual 자식에 부착됨 + Clip path "Visual"
   - Animator path는 Animator 기준 자식 경로 → "Visual/Visual" 자식 찾음·존재 X
   - SpriteRenderer sprite curve 미적용 → 이동 시 Run sprite 교체 X

2. 피해 — VisualBounds = Visual.SpriteRenderer.bounds
   - Visual 자식 분리 후 sprite bounds는 시각만·실제 Collider 영역과 별
   - Player BoxCollider와 Visual.bounds.Intersects 정합 X

fix:
1. 35 Clip path "Visual" → "" (Animator·SpriteRenderer 동일 GameObject = Visual)
2. EnemyController.VisualBounds = _collider.bounds 우선 (CapsuleCollider 영역·실제 충돌)

영역 3 (발판 위 spawn) — PD 결정 대기 (가/나 분기).

회귀 영역 X:
- Variant Visual 자식 sprite override·AnimationController·KinematicObject 영역 영역 X

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 16:46:27 +09:00
깃 관리자 551bc048a4 feat(BT12-Dev): Visual 자식 분리·Clip path Visual·Variant Visual sprite override
PD: "가 — Visual 자식 분리 (이미지만 위로 띄우기 가능)"

근본:
- Enemy GameObject root에 SpriteRenderer·Animator·Collider 모두 묶임
- prefab y 변경 시 Collider까지 같이 이동 → 시각만 분리 불가

fix:
1. Enemy.prefab — Visual 자식 GameObject 신규
   - root SpriteRenderer·Animator 제거
   - Visual 자식에 SpriteRenderer·Animator 부착·기존 setting 이전
2. 35 AnimationClip path 변경
   - EnemyIdle/Run/Hurt/Death/Attack + 30 M00x Clip
   - path="" → path="Visual" (자식 SpriteRenderer 바인딩)
3. Variant 6개 SpriteRenderer override 재적용
   - Visual.SpriteRenderer.sprite = M00x_idle01_0 종별
   - Visual.Animator.runtimeAnimatorController = M00x.overrideController 종별
4. AnimationController·EnemyController
   - spriteRenderer = GetComponent<SpriteRenderer>() ?? GetComponentInChildren<SpriteRenderer>()
   - animator 동일 패턴
5. Scene 16 Enemy position override 복원 (직전 b41cdf6 revert)

PD Variant prefab 영역 Visual 자식 localPosition.y Inspector 조절 시 시각만 위로 이동·Collider 영역 X.

회귀 영역 X:
- KinematicObject·Collider·Rigidbody·EnemyController patrol·발판 통과 정합

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 15:53:37 +09:00
깃 관리자 38031279d1 fix(BT12-Dev): 몬스터 종류 random — 6 OverrideController·MonsterRandomizer
PD: "몬스터 색을 랜덤으로 하라는 얘기가 아니라 몬스터 종류를 랜덤으로 하라고 했잖아"

자성: 직전 commit 6e774dc에서 PD 의도 오역 — 색 tint 영역. 종류(sprite) random 의도 정합 X.

근본 (MCP 자율 영역):
- Enemy.prefab idleFrames 24 sprite (M001~M006 × 4 idle frame) 영역 영역
- Enemy.controller 4 Clip (EnemyIdle·EnemyRun·EnemyHurt·EnemyDeath)
- 영역: 6 Idle Clip + 6 OverrideController·EnemyIdle만 override

fix:
1. 6 AnimationClip 신규 — M001_Idle ~ M006_Idle.anim
   - 각 4 sprite keyframe·frameRate 12·loopTime=true
   - SetObjectReferenceCurve (m_Sprite property)
2. 6 AnimatorOverrideController 신규 — M001 ~ M006.overrideController
   - runtimeAnimatorController = Enemy.controller
   - EnemyIdle Clip → M00x_Idle Clip override
   - EnemyRun·EnemyHurt·EnemyDeath 영역 (영역 sprite·6종 영역 영역 영역)
3. MonsterRandomizer 영역
   - overrideControllers[6] 영역
   - Awake 영역 random select·animator.runtimeAnimatorController = overrideControllers[idx]
   - 색 tint 영역 폐기
4. Enemy.prefab MonsterRandomizer.overrideControllers 6 OverrideController 영역
5. Scene 영역 활성 Enemy 16개 SpriteRenderer.color = white (이전 tint 영역)

회귀 영역 X:
- Animator (Idle·Run·Hurt·Death) 정합 유지·EnemyIdle만 override
- One-Way Platform·Enemy 발판 IgnoreCollision·Player·Camera 영역 영역 X

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 01:37:54 +09:00