← 모든 Post

경기 이벤트를 3D 압박 지형으로 바꾸기

축구 경기를 3D 지형으로 표현하면 경기의 흐름은 어떻게 보일까? StatsBomb Open Data에 기록된 이벤트를 팀별로 모아 시간에 따라 변하는 필드로 만들고, 46초 숏폼 영상으로 렌더링했다. 이 글에서는 완성된 화면을 읽는 법보다 데이터가 영상이 되기까지의 제작 과정을 따라가 본다.

먼저 알아둘 점 영상 속 파도는 선수들의 실제 위치를 추적한 결과가 아니다. 경기 이벤트가 피치의 어느 구역에서 일어났는지를 시간에 따라 요약해 그린 것이다.

1. 이벤트를 시간과 좌표로 정리

축구 경기 이벤트를 시간과 피치 좌표에 배치하는 개념도
점 하나는 선수의 순간 위치가 아니라 이벤트가 발생한 지점을 뜻한다.

StatsBomb 이벤트 데이터에는 패스와 운반, 슛처럼 경기 중 일어난 행동의 시각과 위치가 담겨 있다. 먼저 필요한 이벤트를 골라 시간과 피치 좌표를 읽고, 팀별로 나눠 시간순으로 정리했다. 좌표를 같은 경기장 기준으로 맞추면 서로 다른 이벤트도 한 평면에서 비교할 수 있다. 화면의 점 하나는 선수의 순간 위치가 아니라 이벤트가 발생한 지점을 뜻한다.

2. 좌표를 색과 높이가 있는 지형으로

이벤트 분포의 차이를 색과 높이가 있는 3D 지형으로 바꾸는 도식
양 팀 이벤트 분포의 상대적 차이를 필드 표면으로 나타낸다.

피치를 2차원 격자로 나눈 뒤, 각 시점 주변에서 두 팀의 이벤트가 어느 구역에 상대적으로 많이 모였는지 계산했다. 두 팀의 분포 차이를 지형의 높이와 색에 반영했다. 한 팀의 이벤트가 상대적으로 많이 나타난 구역은 그 팀의 색으로 칠하고, 분포 차이가 큰 곳은 지형을 높여 표현했다.

이렇게 그리면 점만 볼 때보다 경기 흐름과 공간적 쏠림을 파악하기 쉽다. 양 팀의 분포가 비슷해지는 지점을 이어 화면을 가로지르는 경계선도 만들었다. 이 선은 시각적으로 경계를 읽기 위한 장치다. 검증된 압박선이나 선수들의 실제 수비 라인으로 볼 수는 없다.

3. 시간 흐름과 득점 장면 만들기

인접 시점의 지형을 평활화하고 득점 위치에 스파이크를 추가하는 개념도
득점 지점의 스파이크는 장면을 강조하는 시각 효과다.

각 프레임의 지형을 따로 계산하면 경계와 높이가 빠르게 튈 수 있다. 인접한 시점의 결과를 부드럽게 연결해 깜빡임을 줄였다. 그 결과 전선은 천천히 움직이고, 지형은 경기 시간에 따라 오르내린다.

득점 지점에는 잠시 솟아오르는 스파이크를 더해 주요 순간을 강조했다. 이 효과는 득점 위치와 시각을 눈에 띄게 보여주기 위한 연출이다. 스파이크 높이는 슛의 세기나 압박 수치를 나타내지 않는다.

4. 그래픽을 숏폼 화면으로 조립

3D 필드와 점수, 경기 시계, 시간 그래프를 영상으로 합성하는 제작 과정
시간 그래프의 현재 재생 위치와 경기 전체 흐름을 한 화면에서 볼 수 있게 구성했다.

3D 필드에 점수와 경기 시계, 팀 색상, 하단 시간 그래프와 이벤트 마커를 배치했다. 시간 그래프는 현재 재생 지점과 경기 전체 흐름을 함께 보여주고, 골 마커는 주요 이벤트가 발생한 시점을 짚는다.

Remotion으로 화면을 구성하고 영상을 렌더링했다. 완성본은 1080×1080 해상도, 초당 30프레임, 46초 길이다. 시험 렌더에서는 득점 스파이크가 화면 위쪽에서 잘렸다. 높이를 낮춰 문제를 해결한 뒤 전체 영상을 다시 출력했다.

데이터와 제작

데이터: StatsBomb Open Data