본문으로 건너뛰기

스프라이트 시트 만들기

가지고 있는 스프라이트 이미지들을 하나의 PNG 시트로 합치세요. 원본 그림은 픽셀 아트 만들기에서 먼저 그릴 수 있어요.

이미지와 배치

브라우저에서 처리해요.

파일당 최대 10MiB, 전체 최대 40MiB입니다. 정지 PNG, JPEG, WebP 이미지 1~40개를 선택하세요.

이미지를 드래그해 순서를 바꾸세요. 키보드: Alt + ← / →.

미리보기 및 내보내기

정지 PNG, JPEG, WebP 이미지 1~40개를 선택하세요.

내 이미지로 스프라이트 시트 만들기

기존 프레임을 PNG 하나로 합칩니다. 캐릭터나 애니메이션 자세를 만들지는 않습니다. PNG·JPEG·WebP를 추가하고 썸네일을 드래그하세요. 3번을 2번 위로 옮기면 1, 2, 3, 4가 1, 3, 2, 4가 됩니다. 초점 이미지에서 Alt+좌우로도 이동합니다. 삭제는 마우스 올림·키보드 초점 때 오른쪽 위에 나오며 터치에서는 계속 보입니다. 열 수는 처음 업로드 뒤 직접 바꾸거나 지울 때까지 유지합니다.

기본은 자동 셀 크기입니다. 원본 중 최대 너비·높이로 공통 셀을 정하고 확대·축소 없이 픽셀을 보존합니다. 추가·삭제하면 크기를 자동 갱신합니다. 열과 간격으로 배치하세요. 특정 엔진 셀이 필요할 때만 사용자 크기에서 너비·높이·맞춤·보간을 설정합니다. 미리보기 바깥 테두리는 전체 PNG 경계이며 출력하지 않습니다. 크기가 다른 이미지 사이 투명 공간도 같은 시트의 일부입니다.

고정 격자 이해

프레임은 왼쪽에서 오른쪽, 위에서 아래로 배치합니다. 투명 공간을 포함한 모든 셀 크기가 같으며 간격은 셀 사이와 바깥에도 적용합니다. 마지막 행의 빈 셀은 투명하며 이미지보다 열이 많아도 선택한 열 수를 유지합니다.

회전, 잘라내기, 최적 포장은 없습니다. 이미지는 셀 중앙에 놓입니다. 원본 크기는 맞지 않으면 오류, 셀 안에 맞춤은 비율을 유지해 확대·축소하고 최종 크기를 정수 픽셀로 내립니다. 정수 확대는 들어가는 가장 큰 정수 배율을 사용하며 축소하지 않습니다.

직접 확인할 수 있는 두 예시

16×16 이미지 세 개, 4열, 셀 32×32, 간격 2px이면 시트는 138×36입니다. 셀 원점은 (2, 2), (36, 2), (70, 2)입니다. 원본 크기 모드의 첫 이미지 내용은 셀 안의 투명 여백 8px로 중앙에 놓여 (10, 10)에서 시작합니다.

8×8 이미지 다섯 개, 2열, 셀 16×16, 간격 1px이면 35×52입니다. 정수 확대는 2배, 다섯째 프레임은 (1, 35)에서 시작하고 여섯째 빈 셀은 투명합니다. 두 예시 모두 왼쪽 위 기준 좌표입니다.

좌표 읽기와 저장

PNG 저장은 투명 영역을 포함한 합성 이미지를 만듭니다. 체크무늬는 보기 보조이며 파일에 없습니다. 접힌 게임 엔진용 프레임 데이터에 선택적인 JSON 저장과 좌표표가 있습니다. 프로그램이 프레임 위치를 알아야 할 때만 사용하고 이미지 자체는 PNG면 충분합니다. 표는 이름, 왼쪽·위 위치, 셀 너비·높이를 픽셀로 표시합니다. 화면 행 번호는 1부터, JSON 인덱스는 0부터입니다.

프레임마다 0부터 시작하는 인덱스, 파일명, 전체 셀을 나타내는 정수 x, y, width, height가 있습니다. content는 셀 안 실제 그림 사각형, source는 디코딩된 원래 크기입니다. 이름이 중복될 수 있으므로 인덱스로 구분하세요. JSON은 좌표표이며 이미지 묶음이나 이 페이지에서 다시 여는 프로젝트 파일이 아닙니다. PNG와 함께 보관하세요.

픽셀 아트를 보존하는 설정은 무엇인가요?

원본 크기 또는 정수 확대와 최근접 이웃을 사용하세요. 정수 확대는 원본 픽셀을 같은 정사각형으로 만듭니다. 셀 맞춤은 소수 배율일 수 있어 최근접에서도 픽셀 폭이 달라질 수 있습니다. 부드러운 보간은 일러스트에 좋지만 경계를 섞습니다. JPEG에는 투명도가 없으며 업로드해도 배경이 제거되지 않습니다.

어떤 제한이 있나요?

최대 40파일, 파일당 10MiB, 전체 40MiB입니다. 입력당 한 변 8192px·16,777,216픽셀, 디코딩 전체 33,554,432픽셀입니다. 출력도 단일 입력과 같은 변·픽셀 한도를 적용합니다. 사용자 셀은 1~2048px, 열 1~40, 간격 0~256px입니다. 한도에 닿으면 크기를 줄이거나 나누세요.

업로드가 실패하면 어떻게 되나요?

손상, 미지원, 움직이는 이미지는 거부하고 실패한 묶음은 기존 프레임을 유지합니다. 지우기는 대기 로드를 취소하고 현재 이미지를 제거합니다. 로컬에서 디코딩하고 제거·교체 시 자원을 해제합니다. 방문 사이 프로젝트를 보관하지 않으므로 닫기나 언어 전환 전에 저장하세요.

GIF를 스프라이트로 바꾸거나 캐릭터를 움직이나요?

아니요. 제공한 정지 이미지만 배치합니다. GIF 프레임 추출, AI 캐릭터, 애니메이션 시간, 회전·자르기, ZIP, 외부 캐릭터 자산은 제공하지 않습니다. JSON은 일반 좌표표이므로 엔진별 가져오기에 필드명이나 좌표 규약 조정이 필요할 수 있습니다.