Nhà thiết kế đồ họa của tôi đã tạo đồ họa trong các tệp PNG riêng biệt. Có một công cụ / kịch bản thông minh nào có thể nghiền nát chúng thành một spritesheet không?
Tôi có thể tự mình viết mã, nhưng tại sao lại phát minh ra bánh xe :)
Nhà thiết kế đồ họa của tôi đã tạo đồ họa trong các tệp PNG riêng biệt. Có một công cụ / kịch bản thông minh nào có thể nghiền nát chúng thành một spritesheet không?
Tôi có thể tự mình viết mã, nhưng tại sao lại phát minh ra bánh xe :)
Câu trả lời:
Tôi có phải là người duy nhất sử dụng SpriteSheetPacker không? Nó là nguồn mở và miễn phí để bạn có thể sửa đổi nó và tìm hiểu cách thức hoạt động của nó.
Tôi đã sử dụng TexturePacker để tạo các họa tiết từ một thư mục hình ảnh PNG. Tôi đang chuyển một trò chơi ban đầu được phát triển bằng Flash, vì vậy tôi chỉ đơn giản là xuất từng khung của MovieClip sang png và sau đó nhập những hình ảnh đó vào Texture Packer.
Một công cụ tương tự khác là Zwoptex
(Phần sau là phần mềm Mac, nhưng TP cũng có phiên bản dành cho Windows.)
Tôi đã quyết định mở mã nguồn công cụ hoạt hình và hoạt hình 2D của mình. Nó hỗ trợ lựa chọn sprite tự động, kết hợp hình ảnh, nhóm sprite và hoạt hình đa sprite với xoay vòng.
Nó được viết bằng Java, repo github ở đây: https://github.com/darkFunction/darkFunction-Editor
Trang web cho dự án là: http://darkfeft.com/editor
Tôi thực sự thích trình đóng gói (khung trò chơi) của libgdx. Có thể hơi cồng kềnh để thiết lập khung chỉ dành cho trình đóng gói.
Trình đóng gói hoạt động tuyệt vời. Đọc tài liệu văn bản libgdx ở đây và tự mình xem. Tính năng yêu thích của tôi là cũng lưu một tài liệu với thông tin về tất cả các kết cấu trong tập văn bản / tập bản đồ lớn, vì vậy bạn có thể dễ dàng tạo một tập lệnh lấy chúng cho bạn. Libgdx cũng có bản dựng này, vì vậy tôi có thể tải / hiển thị bất kỳ kết cấu nào bằng tên tệp gốc của nó, mặc dù nó nằm trong một tập bản đồ lớn. Cũng tồn tại một GUI cho trình đóng gói .
Trích từ một tập tin gói với thông tin về một số kết cấu:
ferdige1.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
mainmenu
rotate: false
xy: 2, 2
size: 800, 480
orig: 800, 480
offset: 0, 0
index: -1
plankeu3
rotate: false
xy: 804, 2
size: 64, 384
orig: 64, 384
offset: 0, 0
index: -1
levelSelect
rotate: false
xy: 2, 484
size: 591, 373
orig: 591, 373
offset: 0, 0
index: -1
plankeu2
rotate: false
xy: 870, 2
size: 64, 256
orig: 64, 256
offset: 0, 0
index: -1
ImageMagick có một tiện ích dòng lệnh có thể nối các hình ảnh vào cái mà nó gọi là "dựng phim". Có thể mệt mỏi khi có được các tham số dòng lệnh phù hợp để làm những gì bạn muốn, nhưng đó là một công cụ rất mạnh mẽ và linh hoạt. Tôi sử dụng nó rất thường xuyên để xây dựng spritesheets.
convert +append folder/*.png stacked.png
chuyển đổi tất cả các png trong thư mục (được sắp xếp theo thứ tự abc) thành stacked.png
Tôi đã kết thúc bằng cách sử dụng kịch bản xử lý này. Bạn có thể tải về Xử lý miễn phí tại Chế biến.org. Tất cả các tệp cần phải nằm trong cùng một thư mục và có tên tệp kết thúc bằng số có 4 chữ số.
ArrayList<PImage> images = new ArrayList
<PImage>();
void setup() {
String folder = "file location ...";
String file = "file prefix ...";
String outfile = "output.png";
int fileCount = 30;
int cols = 7;
int rows = 5;
println("Loadgin...");
for (int i = 1; i <= fileCount; i++) {
String number = "" + i;
if(number.length() == 1) number ="000" + number;
else if(number.length() == 2) number = "00" + number;
PImage img = loadImage(folder+file + number +".png");
images.add(img);
}
println("Starting...");
PImage img = createImage(images.get(0).width * cols, images.get(0).height * rows, ARGB);
for (int x = 0; x < images.get(0).width; x++) {
for (int y = 0; y < images.get(0).height; y++) {
for (int z = 0; z < images.size(); z++) {
img.set(
x+images.get(0).width* (z%cols),
y +images.get(0).height * int(z/cols),
images.get(z).get(x,y));
}
}
}
println("Saving...");
img.save(folder + outfile);
}
Tôi không biết nếu tôi hiểu chính xác câu hỏi nhưng tôi biết phần mềm hoạt động với kết cấu và tạo hình động, sprite tờ anf .gif hoạt hình. xem http://www.spritetools.com/
Khung La bàn có một công cụ tạo sprite .
Tôi sử dụng một tập lệnh Photoshop để tạo ra các spritesheets, xem bài viết này trên blog của tôi .
Nó có thể tạo các lưới gạch skool cũ cũng như các kết cấu, và có thể xuất một tệp văn bản tùy chỉnh chứa kích thước hình ảnh và thông tin vị trí. Nó hoạt động trên PC và Mac, nó là nguồn mở và được viết để có thể mở rộng.