스프라이트 시트 분할기이란?

이 도구는 스프라이트 시트를 개별 프레임 이미지로 잘라 냅니다. 열과 행으로 격자를 지정하거나 타일 크기를 직접 입력하고, 시트 위에 겹쳐 보이는 절단선으로 확인한 뒤 모든 프레임을 번호가 매겨진 PNG로 묶어 ZIP으로 내려받을 수 있습니다. 게임 개발자는 아틀라스 한 장에서 애니메이션 프레임이나 아이콘 세트를 뽑아낼 때 이 도구를 씁니다.

파일을 올리면 알파 채널에서 투명한 간격을 훑어보고, 간격이 일정하면 타일 크기와 간격, 여백이 알아서 채워집니다. 빈 칸은 출력에서 뺄 수 있습니다. 프레임은 name_01.png처럼 번호가 붙어 나오고, 한 장씩 받거나 name_frames.zip으로 묶어 받습니다. 한 장당 최대 1024칸까지 자릅니다.

사용 방법

  1. 스프라이트 시트 PNG를 올리고 격자 방식을 고르세요. 열 × 행으로 나누거나 타일 너비와 높이를 직접 지정할 수 있습니다.
  2. 오프셋, 간격, 여백을 조정해 미리보기 격자선이 스프라이트에 정확히 맞도록 하세요.
  3. 프레임을 하나씩 확인하고 필요하면 빈 타일은 건너뛴 다음, 전체 프레임을 PNG ZIP으로 내려받으세요.

사용 시기

  • 캐릭터 아틀라스에서 12프레임 달리기 동작을 뽑아 Godot 프로젝트에 넣을 때.
  • 구매한 아이콘 시트를 낱개 PNG로 쪼개 UI 라이브러리에 담을 때.
  • 원본이 사라진 옛 타일셋에서 타일을 한 칸씩 되살릴 때.

결과

게임 개발자가 512×512 캐릭터 아틀라스를 올리고 타일 크기를 64×64, 간격을 2px로 설정하면 격자가 56개 프레임에 딱 맞게 정렬되고, walk_01.png부터 walk_56.png까지 한 번에 ZIP으로 받을 수 있습니다.

자주 묻는 질문

업로드하기 전에 타일 크기를 직접 재야 하나요?
대개는 그럴 필요가 없습니다. 알파 채널에서 투명한 틈을 찾아 시트 전체의 간격이 일정하면 타일 크기와 여백, 간격이 채워집니다. 불규칙한 시트는 2의 거듭제곱으로 추측한 값을 주니 손보면 됩니다.
TexturePacker로 압축한 아틀라스처럼 스프라이트가 제멋대로면 어떻게 하나요?
압축된 아틀라스에는 반복되는 간격이 없어 격자 절단으로는 손댈 수 없습니다. 그런 도구는 스프라이트마다 사각형 좌표를 담은 JSON이나 XML을 함께 내보내므로, 그 파일을 읽는 도구가 필요합니다.
잘라낸 뒤에도 각 프레임의 투명 배경이 남나요?
남습니다. 각 칸은 알파까지 포함해 픽셀 단위로 별도 PNG에 복사됩니다. 부드러운 그림자가 달린 스프라이트도 뒤에 흰 테두리가 생기지 않은 채 엔진으로 들어갑니다.
시트는 얼마나 큰 것까지 올릴 수 있고 프레임 수 제한은 어떻게 되나요?
파일은 20MB까지, 격자는 64열 64행까지, 자르기는 1024칸에서 멈춥니다. 32×32 타일 1024개면 1024×1024 이미지이니 실제로 쓰이는 시트는 거의 다 들어갑니다.
프레임은 어떤 순서로 나오고 파일 이름은 어떻게 붙나요?
읽는 순서대로 왼쪽에서 오른쪽으로 간 뒤 아래 줄로 넘어갑니다. 이름은 원본 파일명에 0을 채운 번호가 붙어 hero.png가 hero_01.png부터 hero_56.png까지가 되고 정렬도 어긋나지 않습니다.

관련 도구