Pixel Map Maker v5.26 사용 설명서

타일맵 제작, 픽셀 텍스처 편집, 에셋 배치, 3D 프리뷰, 협업, 저장과 내보내기까지 사이트의 주요 기능을 빠르게 확인할 수 있는 설명서입니다.

v5.26 · build 5260 · 공통 Editor Core / 온라인 협업 어댑터 기준
v5.26 현재 변경

애니메이션 독립 루프 캐시: 재생을 누르면 실제로 애니메이션이 적용된 대상만 찾습니다. A 타일, B 타일, 최하단 바닥, FloorOverlap을 서로 별도 캐시로 만들며, 같은 타일 안에서도 프레임 수가 다른 텍스처는 별도 루프로 분리합니다. 예를 들어 4프레임 루프와 5프레임 루프를 20프레임짜리 통합 맵 캐시로 만들지 않습니다. 정적 맵 베이스를 한 번 만들고 각 독립 루프의 프레임 캐시를 순차 생성한 뒤, 재생 중에는 각 루프가 자기 프레임 수/FPS에 따라 독립적으로 캐시 프레임만 교체합니다. 애니메이션이 없는 대상은 캐시 계산 대상에서 제외합니다.

v5.25 FloorOverlap 편집 독립: 바닥 겹침 텍스처는 최하단 바닥 텍스처 편집에서만 표시되고 일반 텍스처 대상과 동시에 활성화되지 않습니다. 다른 타일/에셋 편집으로 이동할 때 겹침 편집 대상도 정리합니다.

v5.25 최하단 바닥 → 심층 타일 합성 보강: 최하단 바닥의 타일 연결 애니메이션은 심층 타일의 같은 연결(SAME)뿐 아니라 다른 연결(OTHER) 영역과 대각 코너에도 합성됩니다. 기존 합성 모드와 불투명도 설정을 그대로 사용합니다.

v5.24 이전 변경:

v5.24 심층 타일 합성 선택 수정: 최하단 바닥 애니메이션의 심층 타일 합성 방식과 불투명도는 합성 ON/OFF와 무관하게 항상 선택할 수 있으며, 합성 방식 변경은 단일 입력 경로에서 상태에 확정되어 표준으로 되돌아가지 않습니다.

v5.24 타일별 애니메이션 속도 통합: 하나의 타일이 소유하는 기본/연결/다른 연결/그림자/SIDE 및 최하단 바닥의 기본 바닥/기본 바닥2/연결/심층/밑바닥 애니메이션은 하나의 공통 Frame Hold/FPS를 공유합니다. 어느 프레임 속도 입력을 변경해도 같은 타일의 모든 애니메이션 대상에 동시에 적용됩니다. FloorOverlap은 기존처럼 별도 공통 FPS를 유지합니다.

v5.23 이전 변경:

v5.23 픽셀 레이어 조작/스포이드: 픽셀 편집의 레이어 합성 모드·불투명도·클리핑·알파 잠금이 여러 세대 이벤트 핸들러와 비동기 Lock 대기 사이에서 되돌아가거나 고정될 수 있던 경로를 단일 입력 처리로 정리했습니다. 에셋 스포이드는 타일 좌표가 아니라 에셋 전용 줌/팬 좌표를 사용하고, 현재 보이는 모든 레이어의 합성 모드와 불투명도가 반영된 최종 합성색을 샘플링합니다.

v5.23 최하단 바닥 애니메이션 → 심층 타일 합성: 최하단 바닥을 애니메이션 타일로 설정했을 때 기본 바닥 애니메이션을 실제 심층 타일 최종 렌더 위에 표준/곱하기/스크린/오버레이/발광 방식으로 합성할 수 있으며, 합성 불투명도를 0~100%로 조절할 수 있습니다. 옵션은 프로젝트에 저장되고 Undo/Redo 및 애니메이션 사전계산 캐시 무효화에 참여합니다.

v5.22 협업 Lock 분야화: 타일 텍스처는 tileTextureEdit, 에셋 텍스처는 assetTextureEdit, 타일 배치/변경은 tilePlacement, 에셋 추가는 assetAdd 작업 분야 단위로 잠급니다. 같은 분야에서는 개별 타일/에셋 ID가 달라도 동시에 편집할 수 없고, 저장도 편집 진입 때 획득한 동일 분야 Lock으로 검증합니다. 에셋 배치는 여러 사용자가 동시에 실시간 작업할 수 있으나 tilePlacement와는 상호 배타적입니다. 저장 직전 본인 Lock이 일시 유실됐고 다른 사용자가 점유하지 않았다면 같은 분야 Lock 재획득을 시도합니다.

v5.21 이전 변경:

v5.21 최하단 바닥 FPS 선택 수정: 일반 타일용 재생 데이터 초기화가 최하단 바닥 전용 isolated2 / deep / bottom Frame Hold 값을 지워 FPS 선택 직후 다시 개별 상태로 돌아가던 문제를 수정했습니다. 최하단 바닥의 모든 애니메이션 대상 Hold를 보존해 표준 FPS 선택값이 그대로 저장·재생됩니다.

v5.20 최하단 바닥 애니메이션 캐시 수정: 실제 맵의 최하단 바닥 합성 캐시가 첫 애니메이션 프레임을 계속 재사용하던 문제를 수정했습니다. 기본 바닥·기본 바닥2·연결 텍스처의 실제 프레임 인덱스를 캐시 키에 포함해 프레임이 바뀔 때만 바닥 합성 Canvas를 갱신합니다.

v5.19 애니메이션 준비 최적화: 애니메이션 변화 시점마다 맵 전체를 반복 렌더하고 전체 픽셀을 비교하던 방식을 줄이고, 실제 애니메이션 영향 셀의 지역만 정밀 렌더해 replacement patch를 생성합니다.

v5.18 이전 변경:

v5.18 가장자리 대각선 실제 판정 수정: 실제 맵의 SAME 이웃 판정이 타일 객체와 문자열 ID를 직접 비교해 항상 실패하던 문제를 수정했습니다. A (A) / B A의 오른쪽 위 (A)를 포함해 외곽 ↖/↗/↙/↘ 4종이 미리보기와 동일하게 실제 맵에서 활성화되고, 인접 상하좌우 겹침 캔버스도 대각선 캔버스 영역만큼 올바르게 잘립니다.

v5.16 이전 변경:

v5.16 외곽 대각선 실제 맵 확정 패스: A (A) / B A 구조에서 오른쪽 위 (A)의 외곽 ↗ 바닥겹침을 실제 맵 최종 합성 단계에서 다시 확정 렌더합니다. 미리보기와 동일한 2×2 관계 판정을 사용하며 전체/지역 렌더와 일반 Dirty 미리보기 모두 같은 최종 외곽 대각선 패스를 사용합니다.

v5.15 이전 변경:

v5.15 외곽 대각선/SIDE 우선순위: AA/BA처럼 외곽 대각선 바닥겹침이 성립하는 경우, 대각선 겹침 캔버스 사각형 전체가 같은 높이 0 평면의 SIDE보다 우선합니다. 대각선 텍스처의 투명 픽셀 여부와 관계없이 해당 캔버스 영역의 SIDE를 마스킹해 미리보기와 실제 맵 결과를 일치시킵니다.

v5.14 이전 변경:

v5.14 픽셀 이동: 선택영역을 이동할 때 캔버스 밖으로 나간 픽셀과 선택 마스크가 반대편에서 이어지는 순환 이동을 사용합니다. 새 이동 툴은 현재 활성 레이어 전체를 같은 방식으로 이동하며 Undo/Redo에 포함됩니다.

v5.14 최하단 바닥 바리에이션/애니메이션: 최하단 바닥 도트 편집에서도 일반 타일과 동일한 바리에이션 타일 / 애니메이션 타일 선택과 프레임 스트립을 명시적으로 표시합니다. 기본 바닥, 기본 바닥2, 연결, 심층, 밑바닥 텍스처가 같은 저장/재생 경로를 사용합니다.

v5.13 실제 맵 바닥겹침 합성: 설정 미리보기와 실제 맵 렌더의 합성 순서를 통일했습니다. 실제 맵에서도 높이 0 타일 TOP을 먼저 모두 그린 뒤 FloorOverlap 전용 평면을 합성하고, 높이 +1 이상의 등고선 TOP을 그 위에 올립니다. 외곽 대각선 캔버스가 이웃 SAME 타일 TOP에 덮여 사라지는 문제와 Dirty 지역 렌더가 옛 타일별 합성 순서로 되돌아가는 문제를 수정했습니다.

v5.12 에셋 위치 영구 동기화: 에셋 추가·이동·Undo/Redo의 저장 좌표를 center anchor 하나로 통일합니다. GitHub 프로젝트를 처음 불러올 때 기존 center / bottom-center / anchor 없음 배치를 검사해 현재 보이는 위치를 유지한 채 center로 정규화하고 assetMap에 다시 저장합니다. 최근 실시간 변경 기록에 이전 bottom-center 이동 정보가 남아 있으면 그 기준을 먼저 복구한 뒤 변환합니다. 드래그 중 60ms 실시간 위치 연동과 드래그 종료 즉시 flush, 창 종료 시 pending op keepalive도 적용합니다.

v5.11 겹침 캔버스 대각선 우선순위: 일반/외곽 대각선 바닥겹침은 불투명 픽셀 기준이 아니라 대각선 캔버스 사각형 전체가 직교 겹침보다 우선합니다. 외곽 대각선은 이웃 A가 생성한 직교 겹침과 교차하므로, 이웃 캔버스의 실제 교차폭(outside)을 먼저 잘라낸 뒤 대각선 캔버스를 렌더합니다. 메인 셀 임시 캔버스도 바닥겹침의 실제 돌출 범위를 포함해 외곽 대각선 자체가 잘리지 않도록 확장합니다.

v5.10 에셋 위치 실시간 수렴/저장: 새 에셋 배치는 화면 위치를 바꾸지 않은 채 center anchor 좌표로 정규화한 뒤 로컬 히스토리와 실시간 서버 op에 사용합니다. 같은 에셋을 여러 사용자가 동시에 이동해도 자기 세션의 placement 이벤트까지 서버 sequence 순서대로 다시 적용해 모두 같은 최종 위치로 수렴합니다. 100개 change window를 넘어 sequence gap이 감지되면 각 assetMap의 서버 스냅샷을 다시 읽고 아직 전송하지 않은 로컬 op만 위에 재적용합니다.

v5.9 외곽 대각선 우선순위: 외곽 ↖/↗/↙/↘도 일반 대각선과 동일하게 겹치는 직교 바닥겹침보다 우선합니다. 단순히 마지막에 덧그리는 것이 아니라 겹치는 ↑/↓/←/→ 끝부분을 먼저 마스킹해, 외곽 대각선 텍스처의 투명 픽셀 아래로 직교 텍스처가 비치지 않습니다.

v5.9 외곽 대각선 실제 배치 미리보기: 외곽 대각선 4종 미리보기는 2×2 바닥을 먼저 깔고 A 타일을 실제 SAME 자동연결 규칙으로 합성한 뒤, 해당 배치에서 발생하는 기존 ↓/→ 등의 바닥 겹침과 외곽 대각선 텍스처를 함께 합성합니다. 현재 선택 프레임 번호는 미리보기에 활성화되는 모든 방향에 공통으로 적용됩니다.

v5.7 등고선 애니메이션 준비/가림: 등고선 ON/OFF/색만 적용 상태별 사전계산 캐시는 그대로 재사용하되, 프레임 차이는 작은 Canvas 수천 개 대신 병합된 ImageData 패치로 저장해 대형 맵에서의 준비 메모리 부담을 낮췄습니다. 바닥 겹침은 최하단 평면(실제 geometry height 0)에만 합성되며, 등고선으로 높이가 달라진 타일에서는 타임라인은 계속 진행하지만 최종 캐시 픽셀은 지형에 가려진 상태로 계산됩니다.

v5.6 재생 캐시 상태 분리: 등고선·높이 적용 OFF/ON과 색만 적용 상태를 각각 별도의 애니메이션 사전계산 캐시로 보관합니다. 각 상태는 처음 재생할 때만 계산하고, 다시 같은 상태로 돌아오면 이미 계산한 캐시를 즉시 재사용합니다.

v5.6 선택영역 픽셀 변형: 영역 이동·회전·스케일은 픽셀과 선택 마스크를 같은 정수 격자로 변환하며 보간을 사용하지 않습니다. 90° 회전, 위아래 반전, 양옆 반전 버튼을 추가했습니다.

v5.6 바닥 겹침 12방향: 기존 8방향에 외곽 대각선 4방향을 추가했습니다. 외곽 대각선은 같은 A가 직교 방향으로 이어지고 대각선에만 B가 있는 2×2 오목 코너를 편집합니다. 바닥 겹침의 모든 12방향은 프레임 수·프레임 ID·FPS를 공유하므로 방향을 전환해도 현재 선택 프레임이 유지되고 미리보기도 같은 프레임을 표시합니다.

v5.5 로컬 표시 옵션 Lock 분리:

v5.5 로컬 표시 옵션 Lock 분리: 등고선·높이 적용, 색만 적용, 등고선 3D 모드 등 data-local-only 컨트롤은 mapEdit 협업 Lock 게이트에서 완전히 제외됩니다. 다른 사용자가 맵/타일 배치·높이 작업 Lock을 보유해도 각 사용자는 자신의 로컬 표시 옵션을 독립적으로 조작할 수 있습니다. 이 변경은 WEB 사이트에만 적용되며 Desktop v5.4 프로그램 업데이트가 필요하지 않습니다.

v5.4 협업 실시간 배치/로컬 Undo: Ctrl+Z/Ctrl+Y 히스토리는 각 클라이언트 로컬 소유이며 원격 사용자의 실시간 에셋 배치·이동·배치취소는 로컬 히스토리에 들어오지 않습니다. 에셋 배치 데이터는 일반 저장 대상이 아니며 operation 발생 즉시 서버에 반영됩니다. 서버 change stream도 전체 assetMap 재로드 대신 실제 operation을 전달해 여러 사용자의 배치가 서로 덮어쓰지 않도록 했습니다. 일반 저장은 에셋/타일 텍스처 등 Lock이 걸린 변경 리소스만 저장하고, 다른 사용자에게도 해당 리소스만 부분 동기화합니다.

v5.4 바닥 겹침 애니메이션 통일: 바닥 겹침은 바리에이션 모드를 사용하지 않는 고정 애니메이션으로 정리했습니다. 8방향은 프레임 수, 프레임 인덱스, FPS를 완전히 공유하며 방향별 픽셀 내용만 독립합니다. 바닥 겹침 +/−는 같은 프레임 인덱스를 8방향에 동시에 추가·삭제하고, 재생 시 픽셀 편집 Canvas·우측 겹침 미리보기·맵 에디터가 같은 반복 타임라인을 사용합니다. FPS는 일반 타일과 동일한 표준 FPS 선택 목록을 사용합니다. 최하단 바닥의 일반 텍스처는 기존처럼 바리에이션/애니메이션을 선택할 수 있으며 바닥 겹침과 독립입니다.

v5.2 작업 Lock 표시 명확화: 에셋 수정, 타일 텍스처 수정, 맵/타일 배치·높이 수정, 에셋 추가는 서로 독립적인 작업 Lock으로 유지합니다. 상단 작업 배너와 편집 영역 잠금 안내는 더 이상 단순히 “조작 중”이라고 표시하지 않고 실제 작업 종류를 표시합니다.

v5.1 빠른 배치 SIDE 가림 수정: SIDE 자체를 다음 행 TOP 시작점으로 파괴적으로 잘라내지 않습니다. 빠른 배치는 행 순서 합성으로 앞쪽 TOP이 뒤쪽 SIDE 중 실제 겹치는 부분만 자연스럽게 덮도록 하여, 상승 TOP이 잘리거나 SIDE의 비가림 구간까지 사라지는 회귀를 제거합니다.

v5.0 빠른 배치 SIDE 가림: 빠른 배치의 TOP은 SAME 텍스처로 단순화하지만 SIDE 높이는 정밀 렌더와 동일한 규칙으로 계산합니다. 아래쪽 전경 타일 TOP이 SIDE를 가리는 경우 해당 가림 구간을 그리지 않고 실제 화면에 노출되는 SIDE 픽셀만 표시합니다.

v5.0 세션 안전 업데이트/협업: 실행 중인 편집 세션은 접속 당시 버전에 고정됩니다. 새 호환 버전은 알림만 표시하며 강제 새로고침하지 않습니다. 프로젝트/API 스키마가 바뀌는 필수 업데이트는 현재 작업 저장만 허용하고 신규 공유 편집을 잠근 뒤 저장 성공 후 사용자가 업데이트합니다. 에셋 배치·이동·맵에서 배치 제거는 Lock 없이 실시간 op로 저장/동기화하며, Lock이 걸린 작업만 상단에 작업자와 함께 표시합니다. 리로딩 버튼은 앱 자체를 새로고침하지 않고 현재 프로젝트 데이터와 텍스처/렌더만 다시 불러옵니다. 빠른 배치 SIDE는 정밀 렌더와 동일한 노출 높이 계산을 사용하고 TOP만 SAME으로 단순화합니다.

v4.28 높이/빠른배치 Hotfix: 에셋 관리 모듈이 메인 맵의 등고선 상승 렌더러를 rise=0 방식으로 덮어쓰던 회귀를 제거해 등고선·높이 적용 시 배치 에셋의 화면 위치가 contourHeight에 맞게 다시 이동합니다. 빠른 배치 SIDE는 양수 차이만 보던 계산을 signed 높이 경계 계산으로 교체해 음수 contour 경계에서도 최소 SIDE 미리보기가 표시됩니다.

v4.28 바닥 겹침 편집: 최하단 바닥 레이어의 픽셀 편집 패널에서만 바닥 겹침 버튼을 표시하며, 다른 텍스처 대상과 동일하게 버튼 내부 오른쪽에 +를 붙였습니다. 픽셀 편집 방향은 별도 여닫기 8방향 선택에서 한 방향만 고르며, 선택 방향의 Canvas와 프레임/바리에이션 썸네일만 상단 썸네일 스트립에 표시됩니다. 우측 바닥 겹침 설정의 8방향은 미리보기 전용으로 분리해 복수 선택할 수 있습니다. 애니메이션 모드에서 프레임을 추가·삭제하면 8방향 프레임 수가 함께 늘거나 줄고, Space 재생 시 메인 Canvas와 우측에서 선택된 미리보기 방향들이 공통 타임라인으로 재생됩니다. 우측 미리보기는 B 바닥이 3×3 전체에 깔린 뒤 가운데 A를 올린 실제 배치 상태를 유지하며 텍스처 편집 결과를 실시간 반영합니다.

v4.28 로컬/협업 분리: 등고선·높이 적용, 색만 적용, 빠른 배치, 보기·카메라·미리보기 계열은 프로젝트 데이터를 수정하지 않는 로컬 런타임 상태입니다. 다른 사용자가 에셋 배치·타일 편집·에셋 편집 Lock을 보유하고 있어도 항상 조작할 수 있으며, 공유 Lock·저장 scope·Undo/Redo 협업 경계에 포함되지 않습니다. 에셋 배치/이동/배치 제거만 실시간 공유되고, 타일/에셋 데이터 수정은 저장 후 변경 리소스만 부분 동기화됩니다.

v4.19 성능/협업: 시작·pointerup·유휴 시간의 Animation Precompute와 Unity Export 자동 전체 계산을 제거했습니다. 애니메이션은 첫 Map Play에서만 준비하며 긴 초기 계산 중에는 입력을 잠급니다. Unity Export도 캐시가 없거나 오래된 경우 사용자가 내보내기를 실행한 시점에만 입력을 잠그고 준비하며, 이후 파일 생성은 준비된 결과를 읽습니다. requestMapDraw()의 무표시 전체 Exact Render 승격을 제거하고 Dirty 파이프라인으로 복구합니다. 온라인 작업 Lock은 에셋 수정 / 에셋 추가 / 에셋 배치 / 타일·맵 편집을 분리했으며 에셋 배치와 타일·맵 배치는 상호 배타적입니다.

v4.19 부분 저장/동기화: 기존 프로젝트 덮어쓰기는 저장 기준선이 없는 경우 신규 bootstrap 저장으로 전환하지 않습니다. 원격 기준선만 안전하게 복원한 뒤 이 클라이언트가 실제 수정한 작업 범위만 저장합니다. 다른 작업자가 저장하면 전체 프로젝트를 다시 불러오지 않고 변경된 타일·맵·에셋·에셋 배치·meta만 잠시 입력을 차단한 상태에서 부분 갱신한 뒤 기존 작업을 계속합니다. 에셋 배치/철거는 실시간 동기화됩니다.

로컬 편집 모드: 등고선·높이 적용, 색만 적용, 빠른 배치와 같은 작업 모드 토글은 현재 컴퓨터/브라우저의 편집 상태이며 온라인 프로젝트 데이터로 공유하지 않습니다. 다른 작업자의 동일 토글 상태에는 영향을 주지 않습니다.

에셋 관리/목록 UI: 에셋 관리 모달은 화면 폭을 활용해 확장하고 가로 스크롤 없이 세로 스크롤만 사용합니다. 에셋 목록에서는 썸네일 옆에 이름과 크기를 억지로 압축하지 않고 오른쪽 정보 공간에 이름, 크기, 배치 삭제를 세로로 표시합니다.

에셋 등고선 색 보정: 에셋 픽셀 편집 패널의 토글로 개별 에셋이 등고선 HSV 색 보정을 받을지 설정할 수 있습니다. OFF여도 contourHeight, 위치, 정렬, 높이 판정은 유지됩니다.

바닥 겹침 편집 재구성: 바닥 겹침은 기본 바닥·타일 연결 등 다른 최하단 바닥 텍스처와 동시에 선택되지 않는 독립 편집 모드입니다. 픽셀 편집 패널의 별도 편집 방향 선택은 한 방향만 선택하며 그 방향의 실제 Canvas를 수정합니다. 우측 바닥 겹침 설정의 방향 선택은 미리보기 전용으로 복수 선택합니다. 우측 미리보기는 B 바닥이 전체 3×3에 깔린 뒤 가운데에 A를 배치한 실제 레이어 구조를 표시합니다. 겹침은 A 타일 내부에 붙이는 방식이 아니라 A/B 경계를 중심으로 배치되어 두께 2px이면 A 1px + B 1px을 점유합니다. 대각선은 경계 꼭짓점을 중심으로 배치되어 실제로 겹치는 사방 픽셀만 마스킹합니다. 애니메이션 프레임 수는 8방향이 공통 타임라인을 공유합니다.

맵 상단 UI 정리: 3D 전용 조작은 3D 미리보기 중에만 표시하고, 등고선·높이 적용은 등고선 패널 내부로 이동했습니다. 수동 연결 계산 버튼은 제거하고 빠른 배치를 끄는 시점에 Dirty 영역만 자동 정밀 계산합니다. 색상/격자/에셋 표시 옵션은 보기 메뉴로 묶었습니다.

Undo/Redo 보강: 픽셀 영역선택 생성·해제와 맵 패턴 선택, 바닥 겹침 방향/설정 변경도 기존 Ctrl+Z / Ctrl+Y 히스토리에 참여합니다.

로컬/온라인 런타임 분리: 로컬 Desktop은 로그인·세션·동시편집 Lock 코드를 실행하지 않고 즉시 전체 편집이 가능합니다. 등록사이트만 온라인 인증/Lock 어댑터를 사용하며, 두 환경은 동일한 Editor Core와 동일 버전을 공유합니다.

삭제 에셋 데이터 정리: 삭제된 에셋을 참조하는 배치 데이터는 프로젝트 로드/저장 시 활성 데이터에서 제거합니다. 과거 백업·Undo 기록에는 이전 상태가 남을 수 있지만 새로 저장되는 현재 프로젝트 JSON과 온라인 assetMap에는 orphan 배치를 남기지 않습니다.

Unity 누락 에셋 처리: 삭제되었거나 렌더할 수 없는 에셋 배치가 남아 있더라도 Unity 내보내기 전체를 실패시키지 않습니다. 해당 배치만 건너뛰고 정상 타일·에셋·배치는 계속 출력하며, export.json의 warnings / skippedAssetPlacements에 기록합니다.

Unity 내보내기 미리보기: Unity Prefab 패키지는 배치 에셋을 실제로 내보내므로, 내보내기 미리보기에서도 지형 위에 배치 에셋을 함께 합성해 보여줍니다. 이 미리보기 합성은 Terrain/Side PNG에 에셋을 굽는 동작이 아니며 실제 Unity에서는 에셋 Prefab 인스턴스로 분리됩니다.

맵 에디터 에셋 표시 토글: 상단 도구막대의 에셋 ON/OFF는 현재 브라우저에만 적용됩니다. OFF이면 라이브 맵의 에셋 렌더·히트테스트·3D 에셋 계산을 생략하지만 프로젝트 데이터, 저장, 협업 데이터, 백업, Unity export에는 영향을 주지 않습니다. ON으로 돌리면 현재 배치를 즉시 다시 계산해 표시합니다.

Unity 에셋 Order in Layer: 지형은 Ground_Deep → 높이별 Terrain/Side 쌍으로 출력하고, 에셋은 맵 레이어보다 위에서 맵에디터의 최종 표시 Y를 기준으로 정렬합니다. 화면 아래쪽에 보이는 에셋일수록 더 높은 Order in Layer를 받습니다. 등고선 층 번호가 아니라 등고선 상승까지 반영된 실제 표시 위치를 사용합니다.

Unity 6 Sprite API: 애니메이션 Sprite Sheet 분할에서 폐기된 TextureImporter.spritesheet를 제거하고 ISpriteEditorDataProvider / ISpriteNameFileIdDataProvider 기반으로 변경해 CS0618 경고가 발생하지 않도록 했습니다.

Unity Order in Layer 정리: Unity Prefab 생성 시 Ground_Deep=-1, Terrain_0=1000, Terrain_1=2000처럼 지형 층수대로 아래에서 위로 연속 배치하고, 각 Terrain_N_Side는 같은 높이의 Terrain_N과 동일한 Order를 사용합니다. 배치 에셋은 맵 레이어보다 위에서 시작하되 최종 화면상 Y 위치를 기준으로 정렬되어 아래쪽에 보이는 에셋일수록 더 높은 Order in Layer를 받습니다. 같은 Terrain의 정적/애니메이션 출력은 동일한 Order in Layer를 사용합니다.

Unity Prefab 위치/색보정 수정: 배치 에셋은 이제 등고선 상승이 적용된 맵에디터의 최종 화면 Y 좌표로 내보냅니다. contourHeight는 정보값으로 유지하되 Transform Z에 다시 적용하지 않아 높이를 중복 반영하지 않습니다. PixelHSVSprite는 Unity 6 URP 호환 경로를 추가했으며, 에디터의 hue-rotate / saturate / brightness 방식과 같은 파라미터를 MaterialPropertyBlock으로 적용합니다. 기존 Material을 사용자가 기본 Sprite 셰이더로 바꿔둔 경우에도 Create Prefabs 실행 시 PixelMapMaker 전용 셰이더로 복구합니다.

애니메이션 재생 최적화: 현재 맵에서 실제 사용 중인 애니메이션 타일의 상태가 바뀌는 시점들을 재생 시작 전에 한 번 계산해 캐시합니다. 재생 중에는 연결·그림자·등고선·오브젝트를 매 프레임 다시 계산하지 않고, 캐시된 기준 화면과 변경 블록만 복사해 표시합니다. 기존 v2.64/v2.70의 중복 재생 RAF도 하나로 통합했습니다. 3D 미리보기 역시 60fps마다 전체 재빌드하지 않고 실제 애니메이션 프레임 전환 시점에만 갱신합니다.

저장/백업 분리: 저장 버튼은 현재 편집 상태의 프로젝트 JSON을 한 번 직렬화해 그대로 전체 백업본으로 저장합니다. 백업을 만들기 위해 원격 meta/tile/asset/map을 다시 읽거나 별도 포맷으로 재조립하지 않습니다. 실제 GitHub 프로젝트에는 이 사용자가 수정한 작업 범위의 리소스만 증분 저장하며, 다른 사용자가 편집한 리소스를 로컬의 오래된 값으로 덮어쓰지 않습니다.

Unity 내보내기에서는 각 높이의 TOP과 SIDE를 Terrain_N.png / Terrain_N_Side.png로 분리하고 두 레이어에 동일한 Order in Layer를 사용합니다. FloorOverlap은 최하단 바닥이 소유하는 12방향 전용 레이어로 Order 1005에 출력합니다.

배치된 에셋의 선택 판정을 캔버스 사각형이 아니라 실제 불투명 픽셀(alpha > 0) 기준으로 변경했습니다. 투명 여백에서는 우클릭/휠클릭 조작 판정이 발생하지 않고, 실제 픽셀이 존재하는 위치에서만 해당 에셋을 잡을 수 있습니다.

에셋 추가 → 내 컴퓨터에서 불러오기는 여러 이미지를 동시에 선택할 수 있습니다. 같은 이름의 에셋이 있으면 기존/새 썸네일을 비교해 전체 또는 선택 덮어쓰기를 할 수 있습니다. 크기가 같으면 텍스처만 교체하고, 픽셀 크기가 다르면 경고 후 기존 에셋을 삭제하고 새 크기로 재생성하며 이미 배치된 인스턴스는 같은 좌표를 유지한 채 새 에셋으로 교체됩니다. 에셋 목록의 별도 텍스처 변경 버튼은 제거했습니다.

에셋 삭제·덮어쓰기·재생성은 저장 전까지 로컬 임시 상태로만 유지됩니다. GitHub의 기존 에셋 파일은 건드리지 않으며, 저장하기를 실행하면 저장 시점의 현재 프로젝트 전체 JSON을 그대로 백업한 뒤 신규/변경 에셋과 배치·meta를 저장하고 마지막에 삭제 대상 파일을 정리합니다.

일반 GitHub 프로젝트 불러오기는 meta → 타일 → 에셋 → 맵 → 맵 에셋 배치를 한 번에 하나씩 순차 요청하고, 완료 전까지 편집 입력을 잠급니다. 저장은 기존처럼 변경된 개별 JSON만 증분 저장합니다.

사용설명서 HTML 다운로드

1. 시작하기

로그인 후 프로젝트를 열고, 왼쪽 패널에서 타일 또는 에셋을 선택해 작업합니다.

상단 상태

온라인 N명, 편집 모드, 로그인 사용자 상태를 확인합니다. 온라인 인원에 마우스를 올리면 접속 중인 사용자 목록을 볼 수 있습니다.

최초 접속 / 새로고침

세션이 유효하면 GitHub 프로젝트 목록의 첫 번째 프로젝트를 자동으로 불러옵니다. 프로젝트 데이터와 동기화 기준 적용이 끝날 때까지 화면 전체가 잠기며 완료 후 조작할 수 있습니다.

2. 프로젝트

새 프로젝트

빈 프로젝트를 생성합니다.

프로젝트 선택

GitHub의 다른 프로젝트 또는 컴퓨터의 JSON 프로젝트를 불러올 수 있습니다. GitHub 프로젝트는 meta → 타일 → 에셋 → 맵 → 맵 에셋 배치 순으로 리소스를 하나씩 받아 순간 요청 병목을 줄입니다. 모든 데이터 적용이 끝날 때까지 저장·편집·단축키·캔버스 조작을 잠급니다.

저장하기

덮어쓰기 또는 다른 이름으로 저장을 선택할 수 있습니다.

내보내기

PNG, Unity용 데이터 등 외부 사용을 위한 결과물을 생성합니다.

Ctrl + S 는 현재 프로젝트의 덮어쓰기 단축키입니다. 브라우저 기본 페이지 저장은 사용하지 않습니다.

3. 타일과 레이어

타일은 목적에 따라 그룹으로 나뉘며, 좌측 패널에서 관리합니다.

구분용도
오브젝트 타일기본 타일 위에 올라가는 오버레이 계층. 기본 타일이 없는 칸에는 배치하지 않습니다.
기본 타일맵의 주된 바닥/벽 타일 계층입니다.
심층 타일기본 타일 아래쪽의 깊이 표현용 계층입니다.
최하단 바닥맵 최하층 배경/바닥 계층입니다.

텍스처 유형

고립형

주변 타일과 연결 규칙 없이 독립적으로 표시됩니다.

같은 연결

같은 타일이 인접한 방향에 맞춰 연결 상태를 표시합니다.

다른 연결

다른 타일이 존재하는 방향만 연결 텍스처를 적용합니다. 같은 타일이 있는 방향에는 생성하지 않습니다.

연결 텍스처 적용 범위는 우측 설정에서 접기/펼치기로 조절합니다.

4. 픽셀 편집

타일 또는 에셋의 텍스처를 직접 수정합니다.

기본 도구

펜, 지우개, 채우기, 직사각형 채우기, 올가미, 디더링 등.

브러시 설정

펜 크기, 불투명도, 정사각/원형 브러시 형태를 조절합니다.

색상

색상환, HSV, HEX 등으로 색상을 지정합니다.

레이어 효과

타일 레이어의 색조/채도/명도 등을 조절할 수 있습니다.

프로젝트 데이터를 변경하는 모든 편집 작업은 Ctrl+Z / Ctrl+Y로 되돌리기/다시 실행할 수 있습니다. 연속 슬라이더나 드래그 조작은 한 번의 조작을 하나의 Undo 단계로 처리합니다.

5. 맵 에디터

선택한 타일을 맵에 배치하고, 선택/채우기/삭제/이동 등의 작업을 수행합니다.

타일 배치

타일을 선택한 뒤 맵을 클릭하거나 드래그하여 배치합니다.

선택/채우기

사각 선택, 올가미, 영역 채우기 등으로 범위를 편집합니다.

2D 조작

휠로 커서 기준 확대/축소, 휠클릭 드래그로 화면 이동.

3D 프리뷰

높이/등고선과 타일의 입체 배치를 확인합니다.

맵 타일 배치는 맵 단위 Lock을 사용합니다. 누군가 같은 맵의 타일 배치를 작업 중이면 다른 사용자는 그 맵에서 타일을 배치하거나 제거할 수 없습니다.

6. 에셋

에셋은 타일 크기와 독립적인 자유 크기 이미지 리소스입니다.

에셋 생성/편집

빈 에셋

원하는 폭×높이로 새 에셋을 만듭니다.

내 컴퓨터에서 불러오기

PNG/JPEG/WebP 이미지를 여러 개 동시에 선택해 원본 캔버스 크기로 에셋을 생성합니다. 같은 이름이 이미 있으면 기존/새 썸네일을 비교해 전체 또는 선택 덮어쓰기를 할 수 있습니다. 캔버스 크기가 같으면 텍스처를 교체하고, 크기가 다르면 해당 항목을 선택할 수 있으며 픽셀 크기가 다르기에 삭제 후 재생성됩니다 경고를 표시합니다. 재생성 시 기존 배치 좌표와 앵커는 그대로 유지됩니다.

레이어

래스터 레이어, 폴더, 표시/숨김, 이름 변경, 복제/삭제, 순서 이동을 지원합니다.

합성

불투명도, Multiply/Screen/Overlay/발광 계열, 클리핑, 투명 픽셀 잠금 등을 사용할 수 있습니다.

에셋 배치

  • 새 에셋 배치는 클릭한 위치를 에셋 하단 중앙(bottom-center) 기준점으로 사용합니다.
  • 이미 배치된 에셋의 조작 판정은 캔버스 전체가 아니라 실제 불투명 픽셀(alpha > 0)에서만 발생합니다. 투명 여백은 선택되지 않습니다.
  • 배치된 에셋 위에서 휠클릭 + 드래그하면 위치를 이동할 수 있습니다.
  • 에셋 관리 영역에 현재 맵의 배치 개수를 표시합니다.
  • 배치한 에셋 삭제는 해당 에셋의 현재 맵 배치 인스턴스를 즉시 제거하며 확인창 없이 실행됩니다.
  • 원본 에셋 삭제는 확인창을 표시합니다.
  • 에셋 캔버스 크기는 에셋 레이어 패널에서 폭×높이를 수치로 변경합니다. 기존 픽셀 크기는 유지하고 캔버스 영역만 중앙 기준으로 늘리거나 줄입니다.

7. 온라인 협업

텍스처 편집과 맵 배치는 서로 다른 잠금 규칙을 사용합니다.

작업동시 작업 규칙
타일 텍스처타일별 독립 Lock. A가 타일 1을 수정 중이어도 B는 타일 2를 수정할 수 있습니다.
에셋 텍스처에셋별 독립 Lock. 서로 다른 에셋은 동시에 편집 가능합니다.
맵 타일 배치맵 전체 Lock. 한 사용자가 맵 배치를 시작하면 다른 사용자는 같은 맵의 타일 배치를 할 수 없습니다.
에셋 배치독점 Lock 없음. 배치/제거/이동 시 최신 서버 상태를 읽고 operation 단위로 병합합니다.
A: Tile 1 편집 ──┐ ├─ 동시에 가능 B: Tile 2 편집 ──┘ A: Map 1 타일 배치 → Map 1 Lock B: Map 1 타일 배치 → 차단 A/B: 에셋 배치 → 변경 시 서버 최신 상태와 병합 → 실시간 공유

다른 사용자의 저장 때문에 내가 작업 중인 다른 타일/에셋 텍스처가 초기화되지 않도록 변경된 리소스만 부분 갱신합니다.

8. 내보내기

내보내기 창의 미리보기와 출력 규격을 기준으로 PNG, PSD, Aseprite, Unity, JSON을 생성합니다. 픽셀 배율을 바꾸면 최종 출력 해상도가 즉시 표시됩니다.

등고선 높이 기준 레이어 분리를 켜면 Ground_Deep + Terrain_* + Side 구조로 출력합니다. Terrain_*에는 각 높이의 TOP·그림자만 들어가고, Side에는 에디터의 최종 가림 판정을 통과해 실제로 보이는 모든 옆면만 통합됩니다. 가려진 옆면은 출력하지 않습니다.

PNG

미리보기에서 보이는 결과 그대로 PNG 한 장을 출력합니다. 레이어별로는 제외 여부만 지정하며, 배치한 에셋 포함과 등고선 텍스처 적용도 미리보기와 실제 PNG에 동일하게 반영됩니다.

PSD

내보내기에서 지정한 출력 그룹을 기준으로 맵 레이어를 분리합니다. 에셋 원본은 맵 레이어와 별도 리소스로 취급합니다.

Aseprite

선택한 출력 그룹을 레이어로 구성한 .aseprite 파일을 생성합니다. v_beta1.51부터 Layer/Cel Chunk 길이와 바이너리 구조를 수정한 Writer를 사용합니다.

JSON

Pixel Map Maker 프로젝트 데이터를 JSON으로 내보냅니다.

Unity · Prefab 패키지

Pixel Map Maker ↓ Static Map PNG + Animated Sprite Sheet + export.json + Importer ↓ Unity · Tools > Pixel Map Maker > Create Prefabs ↓ Map Prefab + Asset Prefab + Animated Prefab
  • 각 출력 그룹은 동일한 전체 맵 Canvas를 사용하며 Static과 필요한 경우 Animated 자식으로 구성됩니다.
  • Order in Layer는 Ground_Deep=-1, Terrain_0=1000, Terrain_1=2000 ... 순으로 올라가며, Side는 모든 Terrain 위, Assets는 Side보다 한 단계 위에 생성됩니다. 같은 지형 그룹의 Static/Animated는 동일한 Order를 사용합니다.
  • 애니메이션 타일은 프레임별 PNG 여러 장이 아니라 한 장의 Sprite Sheet로 출력되고, Unity Importer가 Sprite Mode: Multiple로 자동 분할합니다.
  • Pixel Map Maker의 60 logical FPS와 각 타일의 frame hold를 기준으로 AnimationClip 키 시간을 생성하고 Loop/자동 재생을 설정합니다.
  • 같은 맵 그룹의 서로 다른 애니메이션 속도는 하나의 공통 타임라인으로 베이크되어 Map Prefab을 씬에 놓으면 즉시 같은 속도로 재생됩니다.
  • 에셋은 원본 Texture와 Prefab을 공유하고 맵 내부에는 Prefab Instance로 배치합니다. 같은 에셋이 여러 개면 이름별 그룹으로 묶습니다.
  • 에셋은 맵에디터에서 등고선 상승까지 적용되어 실제로 보이는 최종 Y 위치로 배치됩니다. contourHeight는 메타데이터로 유지하고 Transform Z에는 다시 더하지 않습니다.
  • 에셋 인스턴스의 등고선 색보정은 Unity 6 URP 호환 PixelMapMaker/PixelHSVSprite와 MaterialPropertyBlock으로 적용합니다. 에디터의 Hue / Saturation / Value 보정값을 인스턴스별로 전달하므로 Texture를 복제하지 않습니다.
  • 기존 프로젝트에서 핑크색 때문에 Material Shader를 기본 Sprite 셰이더로 바꿨더라도 새 패키지를 덮어쓴 뒤 Tools → Pixel Map Maker → Create Prefabs를 실행하면 PixelMapMaker 전용 셰이더로 다시 연결합니다.
  • Point Filter, No Mipmap, Uncompressed 설정을 사용해 픽셀 경계를 유지합니다.

Unity · PNG 폴더

Prefab을 만들지 않고, 사용자가 지정한 출력 그룹별 합성 PNG + 등록된 모든 에셋 PNG를 폴더 구조로 출력합니다.

Forest_01/ ├─ Ground.png ├─ Tiles.png ├─ Tiles_A.png ├─ Objects.png └─ Assets/ ├─ Tree.png ├─ Rock.png └─ Sign.png
  • 같은 출력 그룹 이름을 가진 맵 레이어는 한 PNG로 합성합니다.
  • Tiles_A, Foreground처럼 직접 입력한 그룹명도 그대로 파일명으로 사용합니다.
  • 각 맵 그룹 PNG는 동일한 전체 맵 Canvas 크기를 유지합니다.
  • Assets/에는 현재 맵에 배치했는지와 관계없이 등록된 모든 에셋을 출력합니다.
  • 에셋의 배치 스케일은 출력 이미지 크기에 영향을 주지 않습니다. 내보내기 픽셀 배율은 맵과 에셋 모두에 적용됩니다.

PNG 단일 출력과 Unity의 PNG 폴더 출력은 서로 다른 기능입니다. PNG 단일 출력은 미리보기 결과 한 장, Unity PNG 폴더는 출력 그룹별 맵 PNG와 Assets 리소스 세트입니다.

9. 단축키 / 마우스 조작

조작기능
Ctrl + Z직전에 프로젝트 데이터를 변경한 작업을 되돌립니다. 그림, 배치, 삭제, 이동, 레이어/설정/수치 변경 등에 적용됩니다.
Ctrl + YCtrl+Z로 되돌린 프로젝트 변경을 다시 실행합니다.
Ctrl + S현재 GitHub 프로젝트를 덮어쓰기 저장합니다. 저장 직전 상태는 자동 백업됩니다.
Q / W / E / R / A / S픽셀 편집 도구를 각각 펜 / 디더링 / 지우개 / 채우기 / 올가미 / 직사각형 채우기로 전환합니다. 입력칸에 타이핑 중일 때는 실행되지 않습니다.
Esc열려 있는 사용 설명서 패널을 닫습니다.
마우스 휠맵/프리뷰 확대·축소
휠클릭 + 드래그일반 영역: 화면 이동 / 배치 에셋 위: 해당 에셋 이동
좌클릭현재 선택 도구 실행 또는 타일/에셋 배치
우클릭도구별 제거/반대 동작

10. 저장 백업 정책

GitHub 덮어쓰기 저장 전에 이전 프로젝트 상태를 자동 백업하는 안전장치입니다.

덮어쓰기 / Ctrl+S ↓ 현재 GitHub 프로젝트 상태 확인 ↓ 48시간이 지난 백업 정리 ↓ 저장 직전 프로젝트를 새 Snapshot으로 백업 ↓ 프로젝트별 백업이 20개를 초과하면 가장 오래된 백업부터 삭제 ↓ 백업 성공 확인 ↓ 실제 덮어쓰기 저장
보관 기간

각 백업은 최대 48시간 유지합니다. 시간이 지났다고 즉시 삭제하는 것이 아니라 다음 저장 시 정리합니다.

최대 개수

프로젝트당 최대 20개. 초과하면 생성 시각이 가장 오래된 백업부터 제거합니다.

프로젝트별 분리

각 프로젝트의 백업은 서로 영향을 주지 않도록 별도 관리합니다.

저장 안전성

백업 생성에 실패하면 원본 프로젝트를 먼저 덮어쓰지 않도록 합니다.

백업 불러오기

프로젝트 선택 → 백업/복구에서 저장 전 Snapshot 목록을 확인하고 원하는 시점을 작업 화면으로 불러올 수 있습니다. 불러온 직후에는 GitHub 원본을 바꾸지 않으며, 확인 후 저장하기 → 덮어쓰기를 실행해야 실제 복원이 완료됩니다.

에셋 변경 트랜잭션

에셋 삭제·동일 이름 덮어쓰기·크기 불일치 재생성은 먼저 작업 화면에만 임시 반영됩니다. GitHub의 기존 에셋 파일은 저장하기 전까지 변경되지 않습니다. 저장 시 기존 원격 상태를 백업한 뒤에 새 에셋 저장·배치 갱신·기존 에셋 삭제를 순서대로 커밋합니다.

미등록 데이터 복구

GitHub의 tiles, maps, assets 실제 파일과 meta.json 목록을 비교합니다. 파일은 남아 있지만 목록에서 빠진 항목만 뒤에 다시 등록하며, 참조만 남은 누락 항목이나 파일은 자동 삭제하지 않습니다.

백업 포함 기준

현재 Snapshot 백업은 meta.json에 등록된 타일·맵·에셋만 포함합니다. 이미 삭제했거나 meta에서 제외된 고아 파일은 자동으로 백업에 다시 넣지 않습니다. 고아 파일을 되살리고 싶을 때만 미등록 데이터 복구를 사용합니다.

공통 텍스처 레이어 · 선택 변형 · 저장 상태

에셋뿐 아니라 타일과 최하단 바닥의 각 텍스처도 레이어/폴더/불투명도/블렌딩/클리핑/알파 잠금을 사용할 수 있습니다. 영역선택(직사각형/올가미) 후 선택 내부를 드래그하면 이동합니다. Shift를 누르면 직사각형 변형 박스와 8개 핸들이 나타나며, 핸들을 좌클릭 드래그하면 확대·축소하고 영역 밖을 좌클릭 드래그하면 중심 기준으로 회전합니다. 선택 가장자리 우클릭 회전도 그대로 사용할 수 있습니다. 모든 변형은 픽셀아트가 흐려지지 않도록 Nearest Neighbor 방식으로 처리되며 한 번의 드래그가 한 번의 실행 취소 기록이 됩니다.

패널 구조 1·3·4는 맵 에디터와 2D/3D 맵 렌더링을 완전히 끄고 타일 편집 패널만 넓게 표시합니다. 1·2·3·4로 돌아오면 현재 타일 상태로 맵을 한 번 다시 렌더링합니다.

저장 중에는 상단 상태가 저장 중…으로 표시되며 진행 표시가 나타납니다. 실제 서버 저장이 끝난 뒤에만 저장됨과 저장되었습니다. 알림이 표시됩니다. 저장 도중 추가 수정이 발생하면 해당 수정은 저장되지 않은 상태로 유지됩니다.

11. 모바일·태블릿

Android 스마트폰과 Galaxy Tab 계열을 포함한 터치 기기에서는 화면 폭뿐 아니라 터치 포인터와 화면 방향을 함께 고려해 UI를 재배치합니다.

  • 휴대폰 세로/가로, 태블릿 세로/가로에 대응합니다.
  • 좁은 화면에서 컨트롤을 잘라내지 않고 패널을 재배치하며, 내용이 많으면 해당 패널 내부에서 세로 스크롤합니다.
  • 터치 버튼과 슬라이더의 조작 영역을 확보하고 캔버스의 탭/드래그/롱프레스 판정을 터치 환경에 맞춥니다.
  • 모달과 내보내기 창은 동적 화면 높이와 Safe Area를 고려합니다.
  • PC의 마우스 조작과 데스크톱 레이아웃은 별도 경로를 유지합니다.

12. 현재 버전 핵심 상태 v5.26

저장

현재 GitHub 프로젝트는 Ctrl+S/덮어쓰기로 저장하며, 다른 이름으로 저장은 사용자가 해당 메뉴를 직접 선택했을 때만 실행합니다. 덮어쓰기 전 JSON Snapshot 백업을 생성합니다.

프로젝트 순차 로딩

GitHub 프로젝트는 meta와 개별 리소스를 순서대로 하나씩 요청합니다. 전체 로딩과 데이터 적용이 끝날 때까지 입력을 잠가 대량 병렬 요청으로 인한 실패와 중간 조작을 방지합니다.

에셋 동기화

자기 기기의 배치 조작은 로컬에서 즉시 반영하고 서버 동기화는 짧게 묶어 전송하여 원격 기기 지연이 로컬 조작감을 막지 않도록 합니다.

등고선 내보내기

지형 높이별 Terrain_* 레이어는 TOP·그림자만 포함하고, 실제 화면에서 보이는 옆면은 높이에 관계없이 하나의 Side 레이어로 통합합니다. 지형 TOP에 가려진 옆면은 Side에서 제외됩니다.

연결·최적화

좌·우·상·하의 다른 타일 접촉을 같은 규칙으로 합성합니다. 그림자 표시를 끄면 관련 렌더 계산도 함께 중지되며, 타일을 드래그 배치하는 동안 그림자는 손을 놓을 때 한 번만 최종 계산합니다.

영역 선택·레이어 복사

직사각형/올가미 선택이 있으면 펜·지우개·채우기·디더링·도형 채우기 등 픽셀 수정은 선택 영역 안에서만 적용됩니다. 선택 도구로 드래그하지 않고 단순 클릭하면 선택이 해제됩니다. 선택 영역 이동·회전·크기 변형은 Undo/Redo 시 선택 마스크도 함께 복원됩니다. Ctrl+C / Ctrl+V는 현재 픽셀 레이어를 복사해 활성 레이어 바로 위에 새 레이어로 붙여넣습니다.

애니메이션 재생

기본 편집 기능

v_beta2.64 compatibility marker