전장 자동시점 카메라 · 전황 마커 개선
모바일 전투에서 전황 인지를 보조하되, 유저의 수동 조작을 이기지 않는 카메라 설계
실무 프로젝트 · 모바일 RTS MMORPG · 2026.02 ~ 08 · 개발·개선 완료
담당 범위
| 담당 | 기획 전담 — 카메라 상태·우선순위 설계 · 유예 조건 명세 · 예외처리 · 전황 마커 HUD 신규 설계 |
| 협업 | 담당 프로그래머 (구현·성능 협의) · 피드백 반영 반복 |
| 상태 | 시스템 기획 확정 · 개발 완료 · 개선 완료 — 신규 전투 시스템이 추가될 때마다 예외처리 갱신 |
| 문서 성격 | 2026.02 초안 이후 8월까지 갱신한 운영 문서 (컨셉 제안 → 시스템 기획) |
30초 요약
좁은 모바일 화면에서 여러 그룹이 동시에 싸우는 전투는 지금 어디서 무슨 일이 벌어지는지 알기 어렵다. 이를 카메라 혼자 해결하려 하지 않고, 자동시점 카메라(보여주기) 와 전황 마커(화면 밖 알려주기) 두 축으로 나눠 설계했다. 핵심 원칙은 하나다 — 자동이 수동을 이기지 않는다. 유저가 조작하면 카메라는 즉시 물러나고, 조작이 끝나도 바로 뺏지 않고 유예를 둔 뒤 돌아온다.
핵심 축: 수동 조작 우선권 · 유예 기반 복귀 · 기획자가 직접 조절하는 구조
문제 상황
모바일 RTS 전투는 화면이 좁고 교전 지점이 여러 곳에 흩어진다. 카메라를 자동으로 움직여주면 전황은 보이지만, 유저가 보고 싶은 곳을 보는 중에 화면이 멋대로 움직이면 조작감이 망가진다. 반대로 아무것도 안 하면 화면 밖에서 아군이 죽는 것을 모른다.
“자동으로 잘 보여주기”와 “유저 조작 방해하지 않기”는 그대로 두면 서로를 깎아먹는다. 둘을 규칙으로 화해시켜야 했다.
진행 내용
- 자동시점 카메라 작동·유예·종료 상태 정의 및 상태 흐름 도식화
- 카메라 제어권 우선순위 정의 (연출 / 수동 조작 / 자동시점)
- 입력 상태별 유예 조건 명세 — 명령 준비·화면 이동·유닛 선택·명령 발동
- 뷰 2종과 LOOP 순회 규칙 정의
- 폴리싱 대상 조절값을 ScriptableObject로 분리
- 전황 마커 HUD 시스템 신규 설계 (방향 마커 · 포커스 마커)
- 신규 전투 시스템 추가에 맞춰 예외처리 지속 갱신
주요 설계 포인트
① 자동이 수동을 이기지 않는다 — 제어권 우선순위
카메라를 움직이려는 주체를 연출 > 수동 조작 > 자동시점 순으로 줄 세우고, 높은 것이 낮은 것을 중단시킨다는 규칙 하나로 정리했다. 우선순위를 먼저 판정하고, 작동 가능한 상황에서만 필요한 뷰를 최소한으로 제공한다. 예외를 하나씩 덧붙이는 대신 순위표를 먼저 세운 결정이다.
② 유예 — 조작이 끝나자마자 뺏지 않는다
손을 뗀 순간 카메라가 돌아가면 유저는 화면을 빼앗겼다고 느낀다. 그래서 입력이 끝난 뒤에도 일정 시간 자동시점을 보류하는 유예를 뒀다.
- 유예 값은 입력 종류별로 다르게 — 화면 이동 / 유닛 선택 / 명령 발동
- 명령을 준비하는 동안(누르고 있는 중)은 타이머가 아예 흐르지 않는 상태 기반 유예
- 유예 중에 새 입력이 들어오면 남은 시간과 새 유예 값 중 큰 쪽을 적용 — 짧은 입력이 긴 유예를 깎지 않게
③ 뷰는 2종만, 대신 순회 규칙을 명확히
뷰를 늘리는 대신 교전 전에는 몬스터 그룹 뷰, 교전 중에는 양측 중심을 잡는 뷰 두 가지로 줄였다. 대신 어느 그룹을 언제 비출지를 규칙으로 못 박았다.
- 다음 대상은 “현재 카메라에서 가장 가까우며 이번 사이클에 아직 안 간 그룹”
- 모든 그룹을 돌면 사이클 초기화, 중간에 복귀하면 남은 그룹부터 이어서
- 비추던 그룹이 전멸하면 그 자리를 잠깐 유지했다가 전환 — 즉시 튀지 않게
- 모든 전환은 보간 이동. 컷 전환(점프)은 쓰지 않는다
④ 폴리싱 값은 기획자 손에
이동 시간·가감속 커브·그룹당 체류 시간·입장 포커스·전환 지연·중심점 보정 같은 감으로 맞춰야 하는 값을 전부 ScriptableObject로 뺐다. 값 하나 바꾸는 데 프로그래머를 거치면 폴리싱이 안 돌아간다. 가감속은 커브 프리셋을 함께 제공해 기획자가 고르게 했다.
⑤ 전황 마커 — 방향과 터치를 한 UI로 묶지 않았다
화면 밖 대상을 알려주는 UI를 하나로 만들면 두 가지가 걸린다. 전투 HUD 위에 겹치면 방향 표시가 어색해지고, 방향 따라 버튼이 회전하면 화면이 난잡해진다.
그래서 역할을 둘로 나눴다.
- 방향 마커 — 화면 가장자리에 붙어 방향만 알려주는 화살표. 회전함. 상호작용 없음
- 포커스 마커 — 눌러서 그 대상으로 카메라를 옮기는 버튼. 회전하지 않음
둘은 같은 기준점과 화면 방향을 공유해 따로 놀지 않는다. 포커스 마커를 누른 것은 유저가 직접 카메라 대상을 고른 입력으로 처리해 ②의 유예 규칙을 그대로 탄다.
구현 고려사항
- 작동 범위 — 컨텐츠 전투에만 적용. 상시 전투에는 쓰지 않아 기존 조작 경험을 건드리지 않는다
- 재판정 트리거 — 그룹 전멸·교전 시작 같은 전황 변화 시점에만 다시 판정. 매 프레임 판정하지 않는다
- 연출과의 관계 — 연출 재생 중에는 자동시점을 무시하고, 연출이 끝난 뒤 활성 상태면 재판정해 복귀
- 비활성 처리 — 끄는 순간 멈추지 않고 진행 중인 이동을 마친 도착 지점에서 정지. 화면이 중간에 끊기지 않게
- 마커 출력 한도 — 동시 출력 최대 4개(몬스터 3 · 아군 1). 아군 마커가 표시 우선순위를 가진다
- 마커 겹침 — 여러 마커가 한 지점에 몰리면 경계선을 따라 좌우로 줄 세운다. 잘리지 않도록 안쪽으로 당기는 offset을 별도 조절값으로 분리
- HUD 영역 — 마커가 놓이는 영역은 전투 HUD 커스텀 배치를 반영해야 하므로, 실제 점유 영역 참조 방식은 담당 프로그래머와 협의 대상으로 남겼다
- 예외 — 소환수는 마커를 출력하지 않는다 (개선 단계에서 추가된 예외)
참고 이미지

상태와 전환 조건을 한 장으로 정리한 도식. 작동 중에는 입장 → 몬스터 그룹 LOOP → 세미 미들 전환 순으로 진행하고, 수동 입력이 들어오면 유예로 빠졌다가 만료 시 재판정해 돌아온다. 유예 중이라도 전체 AUTO가 꺼지면 곧바로 중지로 간다.

용병 그룹과 몬스터 그룹의 중심점 사이를 잡는 방식. 오른쪽 난전 예시처럼 그룹이 갈라지고 몬스터 그룹이 여럿일 때 어디를 기준으로 삼을지가 핵심이라, 중심점 위치를 조절값으로 빼서 보정할 수 있게 했다. 공개용으로 재구성한 설명 도식이다.

폴리싱 대상 값을 한 SO에 모은 인스펙터 목업. 기획자가 어떤 값을 직접 만지게 되는지를 보이기 위해 만든 것으로, 실제 인스펙터 화면이 아니라 이해를 돕는 목업이다. 필드명은 한글 라벨 기준 임시안이다. 값 칸의 n은 자리표시일 뿐 실제 기본값이 아니며, 실제 조절 수치는 내부 정보라 적지 않았다.
결과 · 진행 과정
결과
컨셉 제안서에서 시작해 시스템 기획으로 확정했고, 개발과 개선을 마친 뒤에도 2026년 2월 초안 이후 8월까지 신규 전투 시스템이 추가될 때마다 예외처리를 갱신했다. 카메라와 HUD 마커를 한 문서에서 함께 다뤄, 전황 인지 문제를 한 축이 아니라 두 축으로 나눠 해결
무엇을 하려 했는가
”카메라를 자동으로 움직이는 기능”이 아니라 “전황은 알려주되 유저에게서 화면을 뺏지 않는 규칙”. 자동화가 조작감을 해치는 것이 이 기능의 가장 큰 실패 경로라고 보고, 기능을 늘리기 전에 우선순위와 유예라는 두 개의 안전장치를 먼저 설계했다
어떻게 일했는가
- 예외를 쌓지 않고 순위표를 먼저 — 상황마다 예외를 더하는 대신 제어권 우선순위를 세워두고, 이후 추가되는 전투 시스템은 그 표에 끼워 넣는 방식으로 관리
- 유저가 불쾌해지는 지점부터 역산 — “손 떼자마자 화면이 돌아간다”, “누르는 중에 시점이 바뀐다” 같은 체감 문제를 먼저 적고, 각각에 대응하는 유예 조건을 만들었다
- UI를 나눌 이유를 문서에 남김 — 전황 마커를 두 UI로 분리한 것은 취향이 아니라 겹침·회전 문제 때문이며, 그 근거를 문서에 적어 이후 논의가 되돌아가지 않게 했다
- 문서를 살아 있게 유지 — 초안 이후에도 피드백·신규 시스템 추가 때마다 해당 시트와 행 번호를 히스토리에 남기며 갱신. 문서가 구현과 어긋나지 않도록 관리
참고 자료
- 전장 자동시점 카메라 개선 제안서 (내부 문서, 2026.02 초안 ~ 2026.08 갱신)
※ 원본 문서는 내부 정보 보호를 위해 공개하지 않습니다.