มีเครื่องมือในการสร้าง Spritesheet จาก 1,000 PNG หรือไม่ [ปิด]


26

ผู้ออกแบบกราฟิกของฉันทำกราฟิกในไฟล์ PNG แยกต่างหาก มีเครื่องมือ / สคริปต์ที่ชาญฉลาดที่จะทำให้มันกลายเป็น spritesheet หรือไม่?

ฉันอาจเขียนโค้ดเองได้ แต่ทำไมต้องคิดค้นวงล้อใหม่ :)



1
@jhocking หากคุณสามารถโพสต์คำตอบสำหรับคำถามที่ตรงข้ามกับคำตอบที่คุณโพสต์ได้ที่นี่ พวกเขาซ้ำกัน :)
MichaelHouse

8
นั่นไม่ใช่กฎที่ดีเลย เพียงเพื่อจะไร้สาระ: 2 + 2 คืออะไร? 8 - 4 คืออะไร คำถาม OMG เดียวกัน
jhocking

3
คำตอบที่จริงจังมากขึ้น: คำตอบของฉันเหมือนกันแน่นอน แต่คำตอบที่ยอมรับมีความเกี่ยวข้องกับคำถามนี้โดยสิ้นเชิง คำตอบของฉันใช้ทั้งสองแห่งเพราะคำถามนี้เป็นกรณีเฉพาะของคำถามนั้น คำถามนั้นถามว่า "เครื่องมือใด ๆ สำหรับงานสไปรต์หรือไม่" และคำถามนี้คือ "เครื่องมือสำหรับงานเฉพาะอย่างนี้หรือไม่?" สุจริตคำตอบของฉันใช้เพิ่มเติมได้ที่นี่; ฉันควรจะแสดงความคิดเห็นต่อคำตอบของคนอื่นที่นั่น
jhocking

1
คำตอบที่ได้รับการยอมรับนั้นไม่มีการอ้างอิงถึงการบรรจุภาพจำนวนมากไว้ในแผนที่เดียว คุณไม่ต้องใช้คำของฉันคุณสามารถไปอ่านได้ คำถามนั้นเป็นคำถามเกี่ยวกับ spritesheets เพราะถูกกล่าวถึงในชื่อ แต่คำถามส่วนใหญ่เกี่ยวกับเทคนิคการสร้างภาพเคลื่อนไหวสำหรับการสร้างเฟรมที่ใช้ใน spritesheet
jhocking

คำตอบ:


21

ฉันเพียงคนเดียวที่ใช้SpriteSheetPacker ? ฟรีและโอเพ่นซอร์สดังนั้นคุณสามารถปรับเปลี่ยนและเรียนรู้วิธีการทำงาน


2
ไม่มีอีก 9 คนใช้เช่นกัน แต่เครื่องมือนี้ฟรีแม้ว่าจะไม่ให้ความยืดหยุ่นกับTexturePacker
bobobobo

@bobobobo ใช่มั้ย และเดาว่าภาพของคุณเป็นอย่างไร i.gyazo.com/5e2e4e50d6dd0b1891439aeea06a14a5.pngความยืดหยุ่นมากขึ้นและคุณสมบัติใช่ใช่ ..
NiCk Newman

@NiCkNewman มีตัวเลือกการจัดเรียงหลายแบบ ลองดู
Evorlor

ใช่พยายามใช้นั่นคือความเจ็บปวด
javydreamercsw

13

ฉันใช้TexturePackerเพื่อสร้างสไปรต์จากโฟลเดอร์ภาพ PNG ฉันแปลงเกมที่พัฒนามาใน Flash ดังนั้นฉันแค่ส่งออกแต่ละเฟรมของ MovieClip ไปยัง png แล้วนำเข้ารูปภาพเหล่านั้นใน Texture Packer

อีกเครื่องมือที่คล้ายกันคือZwoptex

(หลังเป็นซอฟต์แวร์ Mac แต่ TP มีรุ่นสำหรับ Windows ด้วย)


2
TP มีไว้สำหรับ O / S ทั้งหมด มี GUI ที่ฉันชอบจนถึงตอนนี้ Zwoptex เป็น Mac เท่านั้น
bobobobo

1
โอ้ที่รักฉันไม่รู้ว่ามันเป็นระบบปฏิบัติการทั้งหมด อาจเป็นของใหม่หรือฉันพลาดไปก่อน
jhocking

Psshaw ผู้ใช้ Mac
bobobobo

5

ฉันได้ตัดสินใจที่จะโอเพนซอร์ซชีต 2D และเครื่องมืออนิเมชั่น สนับสนุนการเลือกสไปรต์อัตโนมัติรวมรูปภาพจัดกลุ่มสไปรต์และภาพเคลื่อนไหวหลายสไปรต์พร้อมการหมุน

มันเขียนใน Java, repo github อยู่ที่นี่: https://github.com/darkFunction/darkFunction-Editor

เว็บไซต์สำหรับโครงการคือ: http://darkfunction.com/editor


3

ฉันชอบ packer (game framework) ของ libgdx อาจจะค่อนข้างยุ่งยากในการตั้งค่าเฟรมเวิร์กสำหรับผู้แพ็คเกอร์

เครื่องบรรจุหีบห่อใช้งานได้ดี อ่านlibgdx texturepacker doc ที่นี่และดูด้วยตัวคุณเอง คุณสมบัติที่ฉันชอบคือบันทึกเอกสารพร้อมข้อมูลเกี่ยวกับพื้นผิวทั้งหมดใน spritesheet / atlas ขนาดใหญ่เพื่อให้คุณสามารถสร้างสคริปต์ที่ทำให้พวกเขาง่ายสำหรับคุณ Libgdx มีโครงสร้างนี้อยู่ด้วยดังนั้นฉันสามารถโหลด / แสดงพื้นผิวใด ๆ โดยใช้ชื่อไฟล์ดั้งเดิมแม้ว่าจะอยู่ในแผนที่ขนาดใหญ่ นอกจากนั้นยังมีGUI สำหรับบรรจุหีบห่อ

ตัดตอนมาจากไฟล์แพ็คที่มีข้อมูลเกี่ยวกับพื้นผิวบางส่วน:

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มียูทิลิตีบรรทัดคำสั่งที่สามารถเข้าร่วมภาพในสิ่งที่เรียกว่า "การตัดต่อ" อาจเหนื่อยที่จะได้รับพารามิเตอร์บรรทัดคำสั่งที่ถูกต้องเพื่อทำสิ่งที่คุณต้องการ แต่มันเป็นเครื่องมือที่ทรงพลังและยืดหยุ่นมาก ฉันใช้มันบ่อยมากในการสร้างสไปรต์เวท


1
คุณมีตัวอย่างของพารามิเตอร์ที่ถูกต้องหรือไม่?
Simon_Weaver

ฉันไม่ใช่ OP แต่ convert +append folder/*.png stacked.pngแปลง pngs ทั้งหมดในโฟลเดอร์ (เรียงตามลำดับตัวอักษร) เป็น stacked.png
user1833218

0

ฉันสิ้นสุดการใช้สคริปต์การประมวลผลนี้ คุณสามารถดาวน์โหลดการประมวลผลได้ฟรีที่ Processing.org ไฟล์ทั้งหมดจะต้องอยู่ในโฟลเดอร์เดียวกันและมีชื่อไฟล์ลงท้ายด้วยตัวเลข 4 หลัก

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

ฉันไม่รู้ว่าฉันเข้าใจคำถามถูกต้องหรือไม่ แต่ฉันรู้ว่าซอฟต์แวร์ที่ทำงานกับพื้นผิวและสร้างภาพเคลื่อนไหวสไปรต์ชีทและภาพเคลื่อนไหว anf .gif เห็นhttp://www.spritetools.com/



0

ผมใช้สคริปต์ Photoshop เพื่อให้ spritesheets ดูบทความนี้ในบล็อกของฉัน

มันสามารถสร้างกริดกระเบื้อง Skool แบบเก่ารวมถึง atlases texture และสามารถส่งออกไฟล์ข้อความที่กำหนดเองซึ่งมีขนาดภาพและข้อมูลตำแหน่ง ใช้งานได้บน PC และ Mac เป็นโอเพ่นซอร์สและเขียนให้สามารถขยายได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.