Dành cho người dùng Aseprite

Công cụ tách bảng sprite Aseprite

Xuất bảng sprite và dữ liệu JSON từ Aseprite. Công cụ khôi phục từng khung cắt về canvas gốc.

Ví dụ: sheet.png + sheet.json → PNG khung đủ kích thước

Thử công cụ
JSON
Sheet + JSONKhung đã phục hồi
  1. 1. ThêmẢnh Aseprite + JSON
  2. 2. Điều chỉnhPhục hồi vị trí khung
  3. 3. LưuPNG đầy đủ trong ZIP

1. Thêm cả hai tệp xuất từ Aseprite

Trong Aseprite, xuất bảng sprite cùng JSON. Chọn ảnh và JSON cùng lần xuất.

Cách sử dụng

  1. 1. Xuất ảnh và JSON cùng nhau

    Xuất bảng sprite có siêu dữ liệu JSON trong Aseprite và giữ cả hai tệp cùng lần xuất. Công cụ đọc bảng PNG/WebP với JSON mảng hoặc hash, không dự án .ase/.aseprite gốc.

  2. 2. Tải cặp tương ứng

    Chọn A. Bảng ảnh và B. Dữ liệu JSON tương ứng, rồi khôi phục. Công cụ nhập kiểm tra meta.size và mọi vùng cắt, độ lệch. Đừng dùng JSON cũ sau khi đóng gói lại hoặc đổi kích thước bảng.

  3. 3. Kiểm tra và lưu chuỗi khôi phục

    Dùng thanh trượt Khung hình và bản xem trước phát lại để kiểm tra căn chỉnh. Mỗi phần cắt được đặt lên canvas sourceSize của nó theo độ lệch spriteSourceSize. Tải ZIP và giữ manifest.json để lưu tên, thời lượng và thẻ khung hình.

Ba hình chữ nhật giải thích sprite cắt gọn nhảy

frame xác định vị trí pixel trong sheet đóng gói. x và y của nó là tọa độ atlas, không phải vị trí gốc của nhân vật. sourceSize cho kích thước canvas gốc. spriteSourceSize cho vị trí phần cắt trong canvas đó.

Tư thế 64 × 64 được cắt gọn còn 22 × 38 có thể nằm tại (128, 0) trong bảng nhưng tại (19, 20) trong khung gốc. Khôi phục tạo canvas trong suốt 64 × 64, sao chép hình chữ nhật 22 × 38 đó và đặt tại (19, 20). Vẽ tại (0, 0) sẽ làm nhân vật dịch chuyển.

Phục hồi không đảo ngược chuyển động có chủ ý trong khung gốc hay tạo pivot mới. Tag và thời gian được giữ trong manifest nhưng ứng dụng nhận phải dùng chúng. Phát FPS đều không tự giữ một lần dừng không đều.

Ví dụ một khung 64 × 64 cắt gọn
Thiết lập hoặc đầu vàoÝ nghĩa
frame: 128, 0, 22, 38Đọc hình chữ nhật này từ sheet
spriteSourceSize: 19, 20, 22, 38Đặt phần cắt tại (19, 20)
sourceSize: 64 × 64Xuất PNG toàn canvas
duration: 100Retain 100 ms in manifest.json

Kiểm tra trước khi tải

Kích thước khớp không chứng minh đóng gói khớp

Hai lần xuất cùng cỡ có thể khác bố cục. Kiểm tư thế đầu/cuối dễ nhận, dùng tệp cùng lần xuất.

Dùng đúng định dạng xuất được hỗ trợ

Không hỗ trợ khung xoay. Giới hạn: JSON 2 MB, ảnh 20 MB, 100 khung, sheet mỗi cạnh 4096 px và 16 triệu pixel, khung phục hồi mỗi cạnh 1024 px và tổng 20 triệu pixel phục hồi.

Câu hỏi

Tôi có thể tải dự án Aseprite gốc lên không?

Không. Xuất bảng và JSON trước. Không tải lớp chỉnh, cel hoặc cấu trúc dự án gốc.

Vì sao các khung đóng gói đã xoay bị từ chối?

Chỉ nhận cắt không xoay. Xuất lại không xoay. Đổi rotated thành false trong JSON diễn giải sai pixel, không sửa.

Vì sao PNG lớn hơn các phần cắt đã đóng gói?

Mỗi ảnh dùng canvas sourceSize gốc và đệm trong suốt. Điều này giữ căn chỉnh tư thế. Giữ atlas đóng gói khi mục tiêu là lưu texture gọn.

ZIP có giữ thời gian không?

Thời lượng và thẻ khung hợp lệ nằm trong manifest.json. PNG riêng không có thời gian phát. Nhập hoặc tái tạo siêu dữ liệu trong editor hoặc engine nhận.

Tôi nên làm gì sau lỗi kích thước?

So meta.size với ảnh và kiểm tra có đổi kích thước hay đóng gói lại sau xuất không. Tạo lại cả hai tệp cùng nhau thay vì sửa siêu dữ liệu để vượt kiểm tra.

Công cụ và hướng dẫn liên quan

Phục hồi khung Aseprite đã cắt gọn — Theo ví dụ độ lệch và chẩn đoán đường cơ sở dịch.

Hoạt ảnh sprite sheet — Thử khung phục hồi FPS đều khi không cần thời gian khác nhau.

Tài liệu xuất Aseprite — Đọc hướng dẫn của trình chỉnh để tạo sheet và dữ liệu khớp.