AI 도트 보정 · 생성된 그림을 진짜 픽셀 격자로
이미지 생성기가 만든 그림은 확대하기 전까지만 도트처럼 보입니다. "픽셀"은 크기가 제각각인 덩어리이고 색은 지저분하며 가장자리는 흐립니다. Studio의 정리 패널은 덩어리 크기를 재서 덩어리마다 깨끗한 픽셀 하나를 만들고 색을 줄이며, 믿을 만한 격자를 못 찾으면 그렇다고 분명히 말합니다.

- Palette files측정 확인· read back
- .aseprite검증됨· Aseprite 1.3.18
- Engine bundles검증됨· Godot 4.7.2 · Unity 6000.5
- Frame PNG · .nerulio일반 파일
이렇게 작동합니다
- 가장자리 추적이 폭이 고르지 않은 가짜 픽셀을 따라갑니다. 잡음보다 큰 가장자리만 쓰고, 가장자리 에너지의 97 % 이상에 경계가 놓이는 가장 큰 칸 크기를 고르며, 평평한 구간은 고르게 나눕니다. 색에 잡음이 있고 근거가 서로 맞을 때만 씁니다.
- 원본을 아는 모의 생성 그림에서 크기를 1px 이내로 찾은 비율은 80 %(정확히는 20 %)였고, 배경 유지 시 픽셀 70.3 %가 정확, 92.8 %가 ΔE 0.02 이내였습니다.
- 실제 생성 그림 7장은 모두 불확실로 판정해 크기를 그대로 두고 가장 나은 후보(어떤 미리보기 묶음에서는 약 3.3px)를 보여 줬습니다. 그 값을 입력해 직접 적용할 수 있습니다.
- Oklab 색 합치기, 색 제한, 스프라이트 팔레트로 양자화, 안티앨리어스 가장자리와 외톨이 픽셀 제거. 결과는 연필로 손볼 수 있는 새 스프라이트입니다.
사용 방법
- 생성된 그림을 이 페이지에 끌어다 놓으면 픽셀 작업 공간에 열립니다.
- 정리 패널에서 측정을 누르고 판정과 확신 정도를 읽습니다.
- 불확실이라면 격자를 확대해 보이는 픽셀 크기를 입력하고 색 제한을 정합니다.
- 미리보기 후 새 스프라이트로 적용하고, 아직 어색한 픽셀을 다듬습니다.
엔진별 내보내기와 검증 방법
"검증됨"은 실제 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 검색이 유일한 네트워크 요청이며 먼저 묻습니다.
자주 묻는 질문
크기가 다른 픽셀("믹셀")도 고치나요?
자주 고치지만 항상은 아닙니다. 폭이 고르지 않은 가짜 픽셀을 위해 가장자리 추적이 있고, 모의 생성 그림에서 80 %는 크기가 1px 이내로 맞았습니다. 근거가 약하면 불확실이라고 알리고 크기를 입력할 때까지 아무것도 바꾸지 않습니다.
무언가를 새로 생성하거나 다시 그리나요?
아니요. 결과 픽셀은 칸에서 가장 많은 색(또는 Oklab 중간값 색)이고, 팔레트는 그림이나 직접 고른 팔레트에서 옵니다. 원본은 바뀌지 않고 결과는 새 스프라이트입니다.
여러 프레임에 팔레트를 고정하고 안티앨리어싱을 없애려면?
정리 패널에 색 제한과 팔레트 양자화가 있습니다. 기존 픽셀 랩도 여러 프레임을 한 팔레트로 고정하고 안티앨리어싱 가장자리를 맞추며, 아래에 링크가 있습니다.
무료인가요? 계정이 필요한가요?
이 페이지의 기능은 모두 무료이며 계정 없이 쓸 수 있습니다. 워터마크나 막혀 있는 내보내기가 없습니다.
스프라이트가 업로드되나요?
아니요. Studio는 이 브라우저 탭 안에서 디코딩·패킹·내보내기를 합니다. 프로젝트는 브라우저(IndexedDB)에 자동 저장되며 .nerulio 파일로 저장할 수 있습니다.
Aseprite나 엔진 플러그인을 설치해야 하나요?
아니요. .aseprite 파일은 브라우저에서 읽고 씁니다. 엔진별 번들에는 그 엔진에 필요한 것이 들어 있습니다(Godot는 가져오기 설정과 씬, Unity와 Godot 타일셋은 작은 편집기 스크립트).