본문으로 건너뛰기

스프라이트 시트 만들기

Sprite Sheet Packer

여러 이미지를 하나의 아틀라스로 묶고 대응하는 CSS 또는 JSON 좌표표를 함께 만듭니다.

아틀라스 한 장과 그것을 쓸 수 있게 해 주는 좌표를 함께 만듭니다. 좌표표 없는 스프라이트 시트는 아이콘 몇 개를 찍은 그림에 지나지 않기 때문입니다. 채움률도 함께 알려 주는데, 이 아틀라스가 만들 가치가 있는지는 그 숫자가 말해 줍니다.

🔒 브라우저 안에서만 처리spriteatlascssgame

묶을 아이콘을 놓으세요

아틀라스 한 장과, 그것을 쓸 수 있게 해 주는 좌표표를 함께 만듭니다.

사용 방법

  1. 아이콘을 놓습니다

    파일 이름이 스프라이트 이름이 되고, 그것이 CSS 클래스 이름이나 JSON 키가 됩니다.

  2. 여백은 최소 2픽셀 둡니다

    시트를 확대하거나 이중선형 필터로 그릴 때 옆 스프라이트가 배어 나오는 것을 막아 줍니다. 아무도 설명하지 못하는 아이콘 가장자리의 그 선이 이것 때문입니다.

  3. 좌표표 형식을 고릅니다

    CSS는 자바스크립트가 필요 없는 유일한 형식입니다. JSON은 TexturePacker의 해시 구조를 따르며, 흔히 쓰는 게임 엔진들이 그대로 읽습니다.

  4. 원본이 @2x라면 픽셀 비율을 맞춥니다

    좌표표의 모든 숫자를 나눠서, CSS가 기기 픽셀이 아니라 CSS 픽셀을 기준으로 말하게 합니다.

자주 묻는 질문

채움률은 무슨 뜻인가요?

아틀라스에서 빈 공간이 아니라 스프라이트가 차지하는 비율입니다. 절반 아래로 내려가면 크기가 제각각인 스프라이트를 억지로 채우고 있다는 뜻이고, 투명한 공간을 잔뜩 내려받게 됩니다. 그럴 때는 시트를 둘로 나누는 편이 대개 낫습니다.

HTTP/2에서도 스프라이트 시트를 써야 하나요?

웹에서는 대개 아닙니다. 아틀라스를 정당화하던 요청 비용이 거의 사라졌고, SVG 스프라이트나 개별 파일이 관리하기 쉽습니다. 캔버스나 WebGL 게임에서는 여전히 맞는 답입니다. 텍스처를 한 번 바인딩하는 편이 쉰 번보다 낫기 때문입니다.

아틀라스 크기가 왜 2의 거듭제곱이 아닌가요?

공간이 낭비되고 요즘 GPU는 대부분 요구하지 않기 때문입니다. 밉맵을 쓰거나 구형 텍스처 경로를 상대한다면 옵션을 켜고 낭비되는 면적을 감수하세요.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.