Мой графический дизайнер сделал графику в отдельных файлах PNG. Есть ли умный инструмент / скрипт, который превращает их в таблицу спрайтов?
Я, наверное, мог бы сам что-то кодировать, но зачем заново изобретать колесо :)
Мой графический дизайнер сделал графику в отдельных файлах PNG. Есть ли умный инструмент / скрипт, который превращает их в таблицу спрайтов?
Я, наверное, мог бы сам что-то кодировать, но зачем заново изобретать колесо :)
Ответы:
Я единственный, кто использует SpriteSheetPacker ? Это бесплатно и с открытым исходным кодом, так что вы можете изменить его и узнать, как он работает.
Я использовал TexturePacker для создания спрайтов из папки изображений PNG. Я портирую игру, изначально разработанную во Flash, поэтому я просто экспортирую каждый кадр MovieClip в png, а затем импортирую эти изображения в Texture Packer.
Еще один похожий инструмент - Zwoptex
(Последний - это программное обеспечение Mac, но у TP есть версия и для Windows.)
Я решил открыть исходный код моей 2D-таблицы и инструмента анимации. Он поддерживает автоматический выбор спрайтов, объединяя изображения, группировку спрайтов и мультиспрайтовую анимацию с вращением.
Он написан на Java, репозиторий github находится здесь: https://github.com/darkFunction/darkFunction-Editor
Веб-сайт для проекта: http://darkfunction.com/editor
Мне очень нравится упаковщик libgdx (игровой фреймворк). Может быть, немного громоздко настроить фреймворк только для упаковщика, хотя.
Упаковщик работает отлично. Прочитайте документацию libgdx texturepacker здесь и убедитесь сами. Моя любимая особенность заключается в том, что он также сохраняет документ с информацией обо всех текстурах в большом спрайт-листе / атласе, поэтому вы можете легко создать скрипт, который их получит. Libgdx также имеет эту встроенную функцию, поэтому я могу загрузить / отобразить любую текстуру по ее оригинальному имени файла, даже если она находится в большом атласе. Также существует графический интерфейс для упаковщика .
Выдержка из упаковочного файла с информацией о некоторых текстурах:
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 имеет утилиту командной строки, которая может объединять изображения в то, что называется «монтаж». Может быть утомительно получать правильные параметры командной строки, чтобы делать то, что вы хотите, но это очень мощный и гибкий инструмент. Я использую его очень часто для создания спрайт-листов.
convert +append folder/*.png stacked.png
конвертирую все pngs в папке (в алфавитном порядке) в stacked.png
Я в конечном итоге с помощью этого сценария обработки. Вы можете скачать Обработка бесплатно на Processing.org. Все файлы должны находиться в одной папке и иметь имя файла, оканчивающееся четырехзначным числом.
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);
}
Я не знаю, правильно ли я понял вопрос, но я знаю программное обеспечение, которое работает с текстурами и создает анимацию, спрайт-листы и анимацию .gif. см. http://www.spritetools.com/
У платформы Compass есть инструмент генерации спрайтов .
Я использую скрипт Photoshop для создания спрайт-листов, см. Эту статью в моем блоге .
Он может создавать старые сетки плиток skool, а также текстурные атласы, и может экспортировать пользовательский текстовый файл, содержащий размер изображения и информацию о положении. Он работает на ПК и Mac, с открытым исходным кодом и написан для расширения.