본문으로 건너뛰기

GDevelop 스프라이트 시트 · 프레임 이미지로 먼저 자르기

GDevelop의 스프라이트 오브젝트는 애니메이션을 프레임마다 따로 된 이미지로 만듭니다. 그래서 스프라이트 시트 한 장은 먼저 잘라야 쓸 수 있습니다. 기존 스프라이트 랩이 프레임을 찾고, 어긋난 상자를 고치게 한 뒤, 프레임마다 PNG 한 장씩 순서대로 번호를 붙인 ZIP을 내려받게 합니다.

스프라이트 시트(PNG)를 끌어다 놓으세요
브라우저에서 처리하며 파일은 업로드되지 않습니다.
기존 스프라이트 랩: 내보내기 전 모든 프레임에 윤곽이 표시된 CC0 시트
CC0 에셋(OpenGameArt)을 연 실제 스프라이트 랩(기존) 화면입니다.
출력
  • Frame PNGs측정 확인· Pillow

이렇게 작동합니다

  • 격자 모드는 칸 크기·여백·간격을 재므로 모든 PNG가 같은 크기로 나오고, GDevelop에서 재생해도 프레임이 흔들리지 않습니다.
  • 자동 모드는 크기가 제각각인 시트에서 투명한 틈으로 나뉜 스프라이트를 찾고, 모자나 칼처럼 떨어진 작은 조각도 몸통과 함께 묶습니다.
  • 파일 이름은 시트 이름에 0을 채운 번호(hero_001.png, hero_002.png …)라서 파일 선택 창에서도 프레임 순서대로 정렬됩니다.
  • 픽셀은 다시 그리지 않고 그대로 복사합니다. 각 PNG가 시트에 표시한 상자와 같음을 측정했고, 확대나 보간은 없습니다.
  • 고급 설정의 키 색으로 마젠타 같은 불투명 배경을 자르기 전에 투명하게 만들 수 있습니다.
  • 솔직히 말하면 이 파일을 GDevelop에서 직접 열어 보지는 않았습니다. 표의 단계는 GDevelop의 일반적인 순서입니다.

사용 방법

  1. 스프라이트 시트를 스프라이트 랩에 넣습니다.
  2. 고른 시트는 격자, 제각각인 시트는 자동을 고르고 상자를 훑어봅니다.
  3. 어긋난 상자는 끌거나 숫자로 고치고, 프레임을 읽는 순서대로 둡니다.
  4. 프레임 PNG를 ZIP으로 받아 압축을 풉니다.
  5. GDevelop에서 한 애니메이션의 이미지를 순서대로 스프라이트 오브젝트에 넣고, 프레임 간 시간과 반복을 정합니다.

ZIP에서 GDevelop 애니메이션까지

GDevelop에서 할 일ZIP에서 쓰는 것팁
프레임 이미지를 순서대로 추가한 행의 PNG, 예: hero_001 ~ hero_0080을 채운 번호라 파일 선택 창에서도 순서 유지
동작마다 애니메이션 하나시트의 행마다 파일 묶음 하나이벤트에서 부를 이름으로 짓기
프레임 간 시간 설정프레임 시간(초), 예: 10 fps면 0.1ZIP에는 시간이 없고 값 하나가 애니메이션 전체에 적용
반복대기·걷기는 켬, 한 번 나가는 공격은 끔애니메이션마다 정하기
프레임 크기격자로 자르면 모든 PNG가 같은 크기크기가 섞이면 캐릭터가 흔들림

여기의 어떤 것도 GDevelop에서 실행해 보지 않았고, 표는 오브젝트 편집기의 일반적인 단계입니다. PNG 자체는 시트의 상자와 같음을 측정했습니다.

출력 파일과 검증 방법

"측정 확인"은 내려받은 파일을 페이지 밖에서(Pillow·numpy·별도 파서) 다시 열어 그 속성을 측정했다는 뜻입니다. 게임 엔진에서 불러오는 것은 시험하지 않았습니다.

대상파일검증
Frame PNGs<sheet>-frames.zip (one PNG per frame)측정 확인 Pillow모든 프레임 PNG가 시트에 표시된 상자와 같습니다(Chromium·Firefox). ZIP에 위치 정보는 없습니다.

검증 근거

ZIP에서 다시 읽은 프레임이 원본 시트의 해당 영역과 픽셀 단위로 같습니다.

한계

  • 기존 랩에는 타임라인과 태그가 없습니다. 애니메이션은 Studio를 쓰세요.
  • 프레임은 알파 섬이나 확인한 격자로 자릅니다.
  • 아주 큰 시트는 띠 단위로 자르며 진행 상황을 보여 줍니다.

자주 묻는 질문

왜 GDevelop 밖에서 시트를 자르나요?

GDevelop 스프라이트 애니메이션은 낱장 프레임 이미지로 이루어집니다. 여기서 자르면 픽셀이 정확하고 순서가 예측 가능한 이미지를 얻고, 파일을 쓰기 전에 상자를 하나하나 확인할 수 있습니다.

시트 한 장에 애니메이션이 여러 개 있어요.

ZIP은 한 번만 받으면 됩니다. 파일이 시트를 읽는 순서(행 단위)를 따르므로, GDevelop에서 행마다 애니메이션(idle, walk, attack …)을 만들고 그 행의 파일을 넣으세요.

가져온 뒤 애니메이션이 흔들려요.

크기가 다른 프레임은 재생할 때 서로 어긋날 수 있습니다. 격자로 잘라 같은 크기 상자를 만들거나, 내려받기 전에 정렬(Normalize) 단계로 모든 프레임을 같은 캔버스에 올리세요.

ZIP에 시간이나 히트박스도 들어가나요?

아니요, PNG만 들어 있습니다. 시간과 충돌 마스크는 GDevelop에서 정합니다. Godot·Unity·Phaser용으로 프레임별 시간이 든 아틀라스도 필요하면 같은 시트를 Studio에서 여세요.

무료인가요? 계정이 필요한가요?

이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.

스프라이트가 업로드되나요?

아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.

Aseprite나 엔진 플러그인을 설치해야 하나요?

아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).