fix: 전투 카메라 StS2 고정 복원 (로비 follow 회귀 수정) #61

Closed
gahusb wants to merge 0 commits from feature/combat-camera-fix into main
Owner

증상

맵에서 전투 진입 시 카메라가 플레이어 중심으로 잡혀 몬스터가 화면 밖으로 밀림. 원래는 StS2식 고정 카메라(플레이어 좌·몬스터 우) 여야 함.

근본 원인 (메이커 계측으로 확인)

카메라는 플레이어의 단일 영속 컴포넌트입니다. 로비 카메라 follow 도입(이전 PR) 시 ConfineCameraArea=false로 풀었는데, 전투맵의 MapCamera가 이를 =true한 번 set하는 것만으론 confine framing이 재적용되지 않습니다(false→true 단순 대입으론 재confine 안 됨). 게다가 맵 로드 시점(0.1s)엔 플레이어가 텔레포트/낙하 중이라 confine 바운드가 잘못 계산됩니다. (이전엔 카메라가 false가 된 적이 없어 항상 StS2였음 → 로비 follow가 회귀를 유발.)

계측 근거: 전투에서 속성은 Confine=true CamOff=(1.5,-0.83)인데도 시각은 플레이어 중심. 플레이어가 정착(-6)한 상태에서 false→true 킥을 하면 StS2가 복원됨(반복 확인).

수정

SlayDeckControllerKickCombatCamera() 추가, StartCombat에서 호출:

  • 플레이어가 전투 위치에 정착한 StartCombat 시점ConfineCameraArea=false0.2s 후 CameraOffset/ScreenOffset/Confine=true를 함께 재적용(킥)해 강제 재confine.
  • 값은 data/camera.json 사용. 로비 follow는 그대로(LobbyMobility 불변), MapCamera/gen-camera 불변.

검증 (메이커 플레이테스트)

  • 로비: 카메라 플레이어 추종(Confine=false).
  • 런 → 전투: 플레이어 좌·몬스터 우 StS2 고정 복원(스크린샷 확인).
  • 전투 → 로비 복귀: 추종 정상(회귀 없음).
  • 미러 테스트 영향 없음(카메라 전용, 전투 규칙 무변).

참고

무관한 기존 빌드 에러(MonsterAttack AnimationClip)는 이 PR 범위 밖.

🤖 Generated with Claude Code

## 증상 맵에서 전투 진입 시 카메라가 **플레이어 중심**으로 잡혀 몬스터가 화면 밖으로 밀림. 원래는 StS2식 **고정 카메라(플레이어 좌·몬스터 우)** 여야 함. ## 근본 원인 (메이커 계측으로 확인) 카메라는 플레이어의 **단일 영속 컴포넌트**입니다. 로비 카메라 follow 도입(이전 PR) 시 `ConfineCameraArea=false`로 풀었는데, 전투맵의 `MapCamera`가 이를 `=true`로 **한 번 set**하는 것만으론 confine framing이 **재적용되지 않습니다**(false→true 단순 대입으론 재confine 안 됨). 게다가 맵 로드 시점(0.1s)엔 플레이어가 텔레포트/낙하 중이라 confine 바운드가 잘못 계산됩니다. (이전엔 카메라가 false가 된 적이 없어 항상 StS2였음 → 로비 follow가 회귀를 유발.) 계측 근거: 전투에서 속성은 `Confine=true CamOff=(1.5,-0.83)`인데도 시각은 플레이어 중심. 플레이어가 정착(-6)한 상태에서 `false→true` 킥을 하면 StS2가 복원됨(반복 확인). ## 수정 `SlayDeckController`에 `KickCombatCamera()` 추가, `StartCombat`에서 호출: - 플레이어가 전투 위치에 **정착한 StartCombat 시점**에 `ConfineCameraArea=false` → `0.2s 후` `CameraOffset/ScreenOffset/Confine=true`를 함께 재적용(킥)해 강제 재confine. - 값은 `data/camera.json` 사용. **로비 follow는 그대로**(LobbyMobility 불변), MapCamera/gen-camera 불변. ## 검증 (메이커 플레이테스트) - 로비: 카메라 플레이어 추종(`Confine=false`). - 런 → 전투: **플레이어 좌·몬스터 우 StS2 고정** 복원(스크린샷 확인). - 전투 → 로비 복귀: 추종 정상(회귀 없음). - 미러 테스트 영향 없음(카메라 전용, 전투 규칙 무변). ## 참고 무관한 기존 빌드 에러(`MonsterAttack` AnimationClip)는 이 PR 범위 밖. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
gahusb added 1 commit 2026-06-15 23:27:45 +09:00
회귀: 로비 follow(ConfineCameraArea=false)로 푼 공유 카메라가 전투맵에서 플레이어 중심으로 보임 — MapCamera의 1회성 true-set으론 재confine 안 됨. StartCombat에서 플레이어가 전투 위치(-6) 정착 후 false→true '킥'(0.2s)으로 재confine해야 StS2(플레이어 좌·몬스터 우) 복원(맵 로드 시점엔 텔레포트/낙하 중이라 바운드 오계산). data/camera.json 값 사용, 로비 follow 불변.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gahusb requested review from maple 2026-06-15 23:42:10 +09:00
Author
Owner

PR #63(하네스 동기화)이 이 브랜치 위에서 분기되어, #63 머지 시 카메라 수정 커밋 44010e0이 함께 main에 반영되었습니다. 본 PR은 main에 없는 고유 커밋이 0개(이미 병합 완료)라 중복으로 닫습니다. 카메라 수정(KickCombatCamera)은 main의 SlayDeckController.codeblock에 온전히 존재합니다.

PR #63(하네스 동기화)이 이 브랜치 위에서 분기되어, #63 머지 시 카메라 수정 커밋 44010e0이 함께 main에 반영되었습니다. 본 PR은 main에 없는 고유 커밋이 0개(이미 병합 완료)라 중복으로 닫습니다. 카메라 수정(KickCombatCamera)은 main의 SlayDeckController.codeblock에 온전히 존재합니다.
gahusb closed this pull request 2026-06-16 00:19:16 +09:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gahusb/maplecontest#61