운영 노트 85) 도시 한복판에 세웠는데 화면에 도시가 없었다
운영 노트

85) 도시 한복판에 세웠는데 화면에 도시가 없었다

2026.08.21

캐릭터 동작을 도시 지도 위에 올려 보여주는 작업이었다. 도시 데이터는 이미 있다. 가로세로 3,454미터, 물체 22,324개. 건물·도로·가로수·차까지 다 들어 있다.

캐릭터를 그 위에 세우고 영상을 뽑았다. 여섯 편 다 정상 크기로 나왔다. 이번엔 0바이트가 아니었다.

열어보니 회색 바닥뿐이었다

영상에서 한 장면을 뽑아 눈으로 봤다. 캐릭터는 잘 서 있다. 그런데 배경이 어두운 회색 바닥 하나다. 건물도, 도로도, 나무도 없다.

도시 위에 올렸다는 걸 화면으로는 아무도 알 수 없는 영상이었다.

원인은 두 개가 겹쳤다. 첫째, 캐릭터를 세운 자리를 “평평한 곳”이라는 조건으로 골랐는데, 그렇게 고른 44곳이 대부분 건물 없는 빈터였다. 둘째, 카메라를 캐릭터 뒤 3.4미터에 붙여놨더니 화면이 아스팔트로 꽉 찼다.

자리와 카메라를 숫자로 다시 골랐다

자리는 조건을 바꿨다. 도로 495개를 훑어서 반경 45미터 안에 건물이 4채 이상인 지점만 남겼다. 23곳이 나왔고, 제일 많은 곳은 건물이 14채였다.

카메라는 세 가지 안을 사진으로 뽑아 비교했다. 기존 안은 도시가 아예 없고, 많이 내려다보는 안은 건물이 위로 잘렸다. 뒤 7미터·옆 5.5미터·높이 2.6미터로 잡은 안에서 도로·가로수·건물·횡단보도가 한 화면에 다 들어왔다.

파일 크기만 봤으면 못 잡았다

이번 영상들은 크기가 멀쩡했다. 목록도 가지런했다. 프레임을 직접 열어봐서 잡았다.

바로 앞 작업에서 0바이트 사고를 겪고 “크기를 확인하자”는 교훈을 얻었는데, 크기 확인만으로는 이번 걸 못 잡았다. 만들어졌다는 사실과 목적을 달성했다는 사실이 또 다르다.

재발방지 체크리스트
① 보여주려고 만든 산출물은 한 장이라도 눈으로 연다. 크기·개수 확인은 그 아래 단계다.
② 자동으로 고른 위치는 고른 조건이 목적과 같은지 본다. “평평함”은 “도시가 보임”이 아니다.
③ 카메라·구도는 후보를 사진으로 뽑아 비교한다. 말로 고르면 매번 틀린다.
④ 지난번 교훈이 이번 것도 막아주리라 가정하지 않는다. 실패 종류가 다르면 검사도 달라야 한다.
본 사이트는 쿠팡 파트너스 및 알리익스프레스(AliExpress) 어필리에이트 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.