맵별 고정 카메라 (MapCamera) — 11맵 카메라 framing 고정 #20

Merged
gahusb merged 3 commits from feature/map-camera into main 2026-06-09 23:28:58 +09:00
Owner

요약

맵 로드 시 플레이어 카메라를 data/camera.json 값으로 설정하는 MapCamera 스크립트를 11맵에 부착.
현재 map01 framing(zoom 100·screenOffset 0.5/0.655·ConfineCameraArea)을 모든 맵에 고정.

변경 사항

  • data/camera.json: 카메라 framing 단일 설정
  • tools/gen-camera.mjs: MapCamera.codeblock 생성 + 11맵 루트에 script.MapCamera 부착(idempotent)
  • 새 CameraComponent 미생성(엔진 소유) — 기존 플레이어 카메라 속성만 런타임 설정
  • OnBeginPlay(client, ExecSpace 6) + LocalPlayer 카메라 재시도 타이머

검증 (메이커 Play)

  • zoom 60 테스트 → 적용 입증(CamTries 1) → 100 복원 / idempotent·결정적·JSON 유효
  • 맵 루트 client 스크립트는 ExecSpace 6 필요(1 미발동) 확인
## 요약 맵 로드 시 플레이어 카메라를 data/camera.json 값으로 설정하는 MapCamera 스크립트를 11맵에 부착. 현재 map01 framing(zoom 100·screenOffset 0.5/0.655·ConfineCameraArea)을 모든 맵에 고정. ## 변경 사항 - data/camera.json: 카메라 framing 단일 설정 - tools/gen-camera.mjs: MapCamera.codeblock 생성 + 11맵 루트에 script.MapCamera 부착(idempotent) - 새 CameraComponent 미생성(엔진 소유) — 기존 플레이어 카메라 속성만 런타임 설정 - OnBeginPlay(client, ExecSpace 6) + LocalPlayer 카메라 재시도 타이머 ## 검증 (메이커 Play) - zoom 60 테스트 → 적용 입증(CamTries 1) → 100 복원 / idempotent·결정적·JSON 유효 - 맵 루트 client 스크립트는 ExecSpace 6 필요(1 미발동) 확인
gahusb added 3 commits 2026-06-09 23:28:50 +09:00
맵 로드 시 플레이어 CameraComponent를 data/camera.json 값(현재 map01: zoom100·screenOffset0.5/0.655·confine)으로 설정.

- data/camera.json: 카메라 framing 단일 설정
- tools/gen-camera.mjs: MapCamera.codeblock 생성 + 11맵 루트에 script.MapCamera 부착(idempotent)
- 새 CameraComponent 미생성(엔진 소유) — 기존 플레이어 카메라 속성만 런타임 설정
- OnBeginPlay(client, ExecSpace 6) + LocalPlayer 카메라 재시도 타이머
- 메이커 Play 검증: zoom 60 테스트로 적용 입증, 100으로 복원. idempotent·결정적
- 참고: 맵 루트 client 스크립트는 ExecSpace 6 필요(1은 미발동)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ConfineCameraArea=true에서는 ScreenOffset이 무시됨(MSW 문서·실측 확인) → 시점 이동은 CameraOffset(월드 좌표)으로.

- data/camera.json: zoomRatio 90, cameraOffsetX 1.5, cameraOffsetY -1 추가 (x+ 오른쪽 / y- 아래)
- gen-camera: codeblock에 cam.CameraOffset = Vector2(...) 굽기 추가
- 메이커 Play 검증: 파이프라인(camera.json→gen-camera→reload)으로 zoom90·offset(1.5,-1) 적용, 시점이 우하단으로 이동 확인
- 참고: 시점 조정은 CameraOffset 사용(ScreenOffset은 confine=true에서 무효, 범위 0~1)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gahusb merged commit 5dfbef4f0f into main 2026-06-09 23:28:58 +09:00
gahusb deleted branch feature/map-camera 2026-06-09 23:28:59 +09:00
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#20