1000 PNG'den Spritesheet yapmak için bir araç var mı? [kapalı]


26

Grafik tasarımcım, PNG dosyalarında ayrı grafikler oluşturdu. Onları bir elektronik tabloya karıştıran akıllı bir araç / komut dosyası var mı?

Muhtemelen bir şeyi kendim kodlayabilirim, ama neden tekerleği yeniden icat etti :)



1
@jhocking Eğer bu soruya cevap yazabildiğiniz cevaba yazabilirsiniz . Onlar yineleniyor :)
MichaelHouse

8
Bu hiç iyi bir kural değil. Sadece saçma olmak için: 2 + 2 nedir? 8 - 4 nedir? OMG AYNI SORU
jhocking

3
Daha ciddi cevap: Cevabım kesinlikle aynı, kesin, ancak kabul edilen cevap, bu soru ile tamamen ilgisiz. Cevabım her iki yerde de geçerlidir, çünkü bu soru bu sorunun özel bir örneğidir; bu soru “herhangi bir sprite görevi için herhangi bir araç?” diye sordu. ve bu soru "bu belirli bir görev için bir araçtır?" Dürüst olmak gerekirse cevabım burada daha fazla geçerlidir; Ben sadece orada başka birinin cevabına bir yorum yapmalıydım.
12'de

1
Kabul edilen cevap, çok sayıda görüntüyü bir atlasta paketlemeye referans vermez. Bunun için benim sözümü almak zorunda değilsin, gidip okuyabilirsin. Bu soru, başlık sayfasında belirtildiği için nominal olarak ilgilidir, ancak soru çoğunlukla bir çizelgedeki kareleri oluşturmak için kullanılan animasyon teknikleriyle ilgilidir.
jhocking

Yanıtlar:


21

SpriteSheetPacker kullanan tek kişi ben miyim ? Ücretsiz ve açık kaynaktır, böylece onu değiştirebilir ve nasıl çalıştığını öğrenebilirsiniz.


2
Hayır, 9 kişi daha kullanıyor. Ancak bu araç, ücretsiz olmasına rağmen, TexturePacker
sunmuyor

@bobobobo Evet? Ve tahmin et resimlerin nasıl biter? i.gyazo.com/5e2e4e50d6dd0b1891439aeea06a14a5.png Daha fazla 'esneklik' ve özellikleri doğru evet ..
NiCk Newman

@NiCkNewman birkaç sıralama seçeneği vardır. Deneyin
Evorlor

Evet, onu kullanmaya çalışmak acı verici.
javydreamercsw

13

TexturePacker'ı PNG görüntüleri klasöründen sprite oluşturmak için kullanıyorum . Başlangıçta Flash'ta geliştirilen bir oyunu aktarıyorum, bu yüzden MovieClip'in her karesini png'ye dışa aktarıp sonra bu görüntüleri Texture Packer'a içe aktarıyorum.

Başka bir benzer araç Zwoptex

(İkincisi Mac yazılımıdır, ancak TP'nin de Windows için bir sürümü vardır.)


2
TP, tüm O / S'ler içindir. GUI var. Şimdiye kadar en sevdiğim. Zwoptex yalnızca Mac'tir.
bobobobo

1
oh tatlı her şeyin işletim sistemi olduğunu bilmiyordum. Ya yeni ya da daha önce özledim.
saat

Psshaw. Mac kullanıcıları.
bobobobo


3

Libgdx'in (oyun çerçevesi) paketleyicisini çok seviyorum. Belki de sadece paketleyici için çerçeve oluşturmak için biraz hantal.

Paketleyici harika çalışıyor. Burada libgdx texturepacker belgesini okuyun ve kendiniz görün. En sevdiğim özellik, büyük spritesheet / atlas'taki tüm dokular hakkında bilgi içeren bir belge kaydetmesidir, böylece onları sizin için kolayca alacak bir betik oluşturabilirsiniz. Libgdx de bu yapıya sahiptir, bu yüzden büyük bir atlasta olsa bile orijinal dosya adıyla herhangi bir doku yükleyebilir / görüntüleyebilirim. Paketleyici için bir GUI de var .

Bazı dokular hakkında bilgi içeren bir paket dosyasından alıntı:

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

3

ImageMagick , "montaj" dediği şeye görüntüleri birleştirebilen bir komut satırı yardımcı programına sahiptir. İstediğiniz şeyi yapmak için doğru komut satırı parametrelerini elde etmek yorucu olabilir, ancak bu çok güçlü ve esnek bir araçtır. Sprite sayfaları oluşturmak için çok sık kullanıyorum.


1
Doğru parametrelerden herhangi bir örnek var mı?
Simon_Weaver

OP değilim, ancak convert +append folder/*.png stacked.pngklasördeki tüm pngs'leri (alfabetik olarak sıralanmıştır) stacked.png'ye dönüştürür
user1833218

0

Bu işleme betiği kullanarak sona erdi. Processing.org adresinden Processing'i ücretsiz indirebilirsiniz. Tüm dosyaların aynı klasörde olması ve 4 basamaklı biten bir dosya adı olması gerekir.

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);
}

0

Soruyu doğru anlamış mıyım, bilmiyorum ama dokularla çalışan ve animasyon yapan, sprite sheet ve .gif animasyonların yazılımını biliyorum. bkz. http://www.spritetools.com/



0

Spritesheets yapmak için bir Photoshop betiği kullanıyorum, blogumda bu makaleye bakın .

Eski skool fayans ızgaralarının yanı sıra doku atlaslarını da yapabilir ve görüntü boyutu ve konum bilgisi içeren özel bir metin dosyasını dışa aktarabilir. PC ve Mac üzerinde çalışır, açık kaynak kodlu ve genişletilebilir olması için yazılmıştır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.