Pixel Snapper 대안 · 도트 정리 도구 실측 비교
가짜 도트를 진짜 격자로 되돌려 준다는 무료 도구가 여럿 있습니다. Sprite Fusion의 Pixel Snapper, unfake.js, perfectPixel을 각자의 기본값으로, 원래 1배 그림을 아는 CC0 스프라이트 69개에 똑같이 돌리고 같은 방식으로 채점했습니다. Nerulio가 이긴 곳과 진 곳을 함께 적습니다.

- .aseprite검증됨· Aseprite 1.3.18
- Palette files측정 확인· read back
- Engine bundles검증됨· Godot 4.7.2 · Unity 6000.5
- Frame PNG · .nerulio일반 파일
이렇게 작동합니다
- 사례: CC0 스프라이트·타일 13개(Kenney, Eris, GrafxKid, DezrasDragons 등)를 정해진 방법으로 망가뜨렸습니다. 최근접 ×2~×8, 소수 배율 최근접, 쌍선형·쌍삼차·Lanczos 확대, JPEG, 흐림, 크기가 고르지 않은 모의 생성 그림.
- 채점: 최대 2px 이동 중 가장 잘 맞는 위치에서 정확한 픽셀, Oklab ΔE 0.02 이내 픽셀, 결과 크기가 정확한지·1px 이내인지. 실패한 실행은 0으로 세므로 어려운 사례를 건너뛰어 좋아 보일 수 없습니다.
- 이미지 생성기로 만든 실제 그림 7장은 정답이 없습니다. Nerulio는 7장 모두 불확실로 판정해 크기를 그대로 두고 약한 후보를 보여 줬고, 다른 도구는 항상 추측을 내놓았습니다. 같은 3장에 unfake.js는 픽셀 크기 3을, Pixel Snapper와 perfectPixel은 약 6을 골랐습니다.
- Nerulio는 바꾸기 전에 잰 격자와 확신 정도를 보여 주고, 결과는 편집기의 새 스프라이트가 되어 튀는 픽셀·팔레트·외곽선을 손으로 고칠 수 있습니다.
- 모든 것을 다시 돌릴 수 있는 스크립트와 데이터가 도구 버전·설정과 함께 저장소(docs/pixel-bench)에 있습니다.
같은 사례 69개, 같은 채점
전체 결과이며 실패한 실행은 틀린 것으로 셉니다. docs/STUDIO-PIXEL.md §5, docs/pixel-bench/H2H.md §3.
| 도구 | 정확한 크기 | 크기 ±1px | 정확한 픽셀 | ΔE 0.02 이내 | 실패 |
|---|---|---|---|---|---|
| Nerulio, 기본값 | 81 % | 90 % | 63.2 % | 75.4 % | 0 |
| Nerulio, 배경 유지 | 81 % | 90 % | 74.0 % | 91.1 % | 0 |
| unfake.js(라이브러리 기본값) | 25 % | 41 % | 44.6 % | 64.6 % | 0 |
| unfake.js(브라우저 도구, 격자 자동) | 26 % | 42 % | 40.7 % | 64.8 % | 0 |
| perfectPixel | 30 % | 43 % | 33.9 % | 55.9 % | 15 |
| Sprite Fusion Pixel Snapper | 6 % | 28 % | 33.4 % | 54.7 % | 0 |
이 수치의 출처: docs/STUDIO-PIXEL.md §5, docs/pixel-bench/H2H.md
Pixel Snapper, unfake.js and perfectPixel 쪽이 더 나은 경우
- 스크립트로 부를 수 있는 라이브러리입니다. Pixel Snapper는 명령줄이 있는 Rust, unfake.js는 자바스크립트, perfectPixel은 파이썬. Nerulio의 정리는 Studio 안에서만 돌고 명령줄이 없습니다.
- JPEG 입력을 기본값으로 돌리면 unfake.js가 ΔE 0.02 이내 픽셀을 더 많이 남겼습니다(74.6 %, Nerulio 기본값 48.4 %). Nerulio는 배경을 유지해야 84.0 %가 됩니다.
- 생성된 그림에도 항상 답을 내놓습니다. Nerulio는 불확실한 그림을 픽셀 크기를 입력할 때까지 그대로 둡니다.
- perfectPixel은 모의 생성 그림의 크기를 두 배 더 자주 정확히 찾았고(40 % 대 20 %), 깨끗한 최근접 확대에서 격자를 찾으면 결과가 정확합니다.
사용 방법
- 확대되거나 생성된 그림을 이 페이지에 끌어다 놓으면 픽셀 작업 공간에 열립니다.
- 정리 패널에서 측정을 누르고 판정을 읽습니다. 정확한 블록 격자, 소수 배율이나 부드러운 확대, 또는 제안 크기가 붙은 불확실.
- 불확실한 그림은 그려진 격자를 확대해 보고 눈에 보이는 픽셀 크기를 입력합니다. 색이 지저분하면 색 제한이나 팔레트 양자화를 켭니다.
- 미리보기 후 새 스프라이트로 적용하고, 내보내기 전에 연필로 픽셀 몇 개를 다듬습니다.
엔진별 내보내기와 검증 방법
"검증됨"은 실제 CC0 에셋으로 내보낸 파일을 해당 엔진·도구가 직접 불러와 원본과 비교했다는 뜻입니다. 불러오지 않은 형식은 그렇게 표시합니다.
| 대상 | 파일 | 검증 |
|---|---|---|
| .aseprite | layers · blend · opacity · locked · indexed palette · frames · tags | 검증됨 Aseprite 1.3.18실제 Aseprite 명령줄이 파일을 인덱스 모드, 레이어 2개, 불투명도 160의 곱하기, 편집 불가로 잠긴 레이어 그대로 다시 열었고 프레임 픽셀이 같았습니다. |
| Palette files | .gpl · .pal · .hex · .ase · .act · .json | 측정 확인 read back형식마다 쓰고 다시 읽어 같음을 확인했고, Aseprite가 만든 .gpl·.pal·.hex·.act와 실제 Adobe .ase(16색)를 읽었습니다. |
| Engine bundles | Godot 4 · Unity 6 · Phaser 3/4 · PixiJS 8 … through Pack & Export | 검증됨 Godot 4.7.2 · Unity 6000.5그린 스프라이트는 패킹·내보내기에서 묶습니다. 그 엔진 파일은 실제 CC0 에셋으로 각 엔진에서 불러와 확인했습니다(49회 중 47회 통과, 실패 2회는 Phaser 3 프리셋이 피하는 Phaser 3.90 버그). |
| Frame PNG · .nerulio | PNG-8 with the palette when an indexed frame fits it · project file | 일반 파일어떤 도구에서도 쓰는 일반 파일이며, 엔진 실행 검증은 주장하지 않습니다. |
검증 근거
정리 벤치마크(원래 1배 그림을 아는 CC0 사례 69개): 크기를 정확히 찾은 비율 81 %(±1px 90 %), 배경 유지 시 픽셀 74.0 % 정확. 가장 나은 경쟁 도구는 크기 30 %(perfectPixel), 정확한 픽셀 44.6 %(unfake.js). Aseprite로 만든 ×4 최근접 확대는 100 %, ×3.78 쌍선형 확대는 99.7 % 정확하게 돌아왔고 두 경우 모두 크기를 자동으로 찾았습니다. 1px 외곽선과 드롭 섀도는 Aseprite 결과와 픽셀까지 같았습니다(1846px, 705px). 여기서 쓴 .aseprite는 Aseprite 1.3.18에서 인덱스 모드와 레이어·블렌드·잠금이 그대로 열립니다.
한계
- 픽셀 작업 공간에 없는 것(Aseprite에는 있음): 레이어 그룹, 링크된 셀, 타일맵 레이어, 참조 레이어, RotSprite와 선택 영역 자유 회전·크기 조절(뒤집기와 90°만), 그라디언트·스프레이·윤곽·텍스트 도구, 사용자 브러시(사각·원 1~16px), 타일 반복 그리기, Lua 스크립트와 명령줄.
- 대칭 축은 숫자로 입력하며 캔버스에서 끌 수 없습니다. 터치에서는 오른쪽 버튼이 없어 배경색은 전환 버튼이나 X로 씁니다.
- 정리: JPEG는 가깝게 돌아오지만(배경 유지 시 84 %가 ΔE 0.02 이내) 정확히 같은 경우는 드뭅니다(12 %). 모의 생성 그림은 크기를 정확히 맞힌 비율이 20 %(±1px 80 %)이고, 실제 생성 그림 7장은 하나도 자동으로 맞추지 않았습니다. 패널이 제안한 픽셀 크기를 직접 입력해야 합니다.
- 인덱스 변환은 Aseprite의 RGB 거리가 아니라 Oklab에서 가장 가까운 색을 고릅니다. 시험 스프라이트의 68 % 픽셀이 다른(눈으로 더 가까운) 색이 됐습니다. Lospec 검색이 유일한 네트워크 요청이며 먼저 묻습니다.
자주 묻는 질문
이미지 생성기로 만든 그림에는 어느 도구가 가장 좋나요?
아직 믿을 만한 도구는 없습니다. 모의 생성 그림에서 크기를 정확히 가장 자주 찾은 것은 perfectPixel이고(40 %, Nerulio 20 %), Nerulio·perfectPixel·Pixel Snapper는 80 %에서 1px 이내였습니다. 가장 크게 갈린 것은 정확한 픽셀로, 배경 유지 시 Nerulio 70.3 %, 다른 도구는 모두 7 % 미만이었습니다.
Nerulio가 일부 그림을 맞추지 않는 이유는?
격자 근거가 약하면 추측하지 않고 불확실이라고 말합니다. 그래도 가장 나은 후보와 그 격자를 보여 주므로 그 크기를 입력해 적용할 수 있습니다. 경쟁 도구는 얼마나 확실한지 말하지 않고 추측을 내놓습니다.
경쟁 도구는 공정하게 돌렸나요?
방문자가 쓰는 방식 그대로 각자의 기본값으로 돌렸습니다. Pixel Snapper는 사이트의 WebAssembly 빌드로 16색, unfake.js는 라이브러리와 브라우저 도구, perfectPixel은 파이썬 패키지. 설정과 버전은 docs/pixel-bench/H2H.md에 있습니다.
무료인가요? 계정이 필요한가요?
이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.
스프라이트가 업로드되나요?
아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.
Aseprite나 엔진 플러그인을 설치해야 하나요?
아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).