Saya memiliki banyak spritesheets yang diformat buruk sehingga saya ingin membusuk, atau dibagi menjadi banyak gambar kecil, satu untuk setiap sprite. Jika saya bisa melakukannya, saya bisa menggunakan alat pengolah tekstur khusus untuk membangun aset game saya.
Alat pengembangan saya adalah XNA dan C # menargetkan Windows. Bagaimana saya bisa menguraikan gambar?
Texture2D.GetData
/SetData
dan beberapa matematika yang relatif sederhana. Tergantung pada bagaimana data diformat. Ikuti denganSaveAsPng
.Jawaban:
Coba Sprite Decomposer atau Sprite Vortex , saya percaya keduanya memiliki pemotongan sprite otomatis berdasarkan alpha.
sumber
Dua metode muncul dalam pikiran, tergantung pada jumlah fragmen yang ingin Anda buat:
Baik Cat, seperti yang tercantum dalam komentar. Mudah lebih cepat daripada mengkodekan sesuatu jika Anda memiliki sejumlah kecil spritesheets dan / atau jika Anda kehilangan sebagian besar pemetaan.
Atau Anda dapat menulis program XNA kecil yang berlangsung seperti ini:
Anda memuat semua tekstur yang ingin Anda potong dan yang memiliki koordinat pemetaan ke GraphicsDevice Anda
Anda beralih melalui koleksi GraphicsDevice.Textures objek Texture2D yang dimuat
Anda membuat objek gambar dari setiap Texture2D
Anda membuat sub-gambar dari setiap Gambar besar, dengan koordinat sesuai dengan pemetaan Anda. (cuplikan kode oleh Ali Hamdar)
Anda menyimpan sub-gambar ke mana pun Anda inginkan.
sumber
Anda harus pergi ke kembang api Adobe atau Paint
Tetapi jika Anda melakukan cat Anda juga akan membutuhkan paint.net! karena jika Anda menggunakan cat, maka akan memiliki latar belakang sehingga setelah Anda membuka sprite itu di paint.net, Anda dapat menghilangkan latar belakangnya, itu sangat sederhana, tetapi jika Anda khawatir tentang tekstur seperti dalam permainan, Anda harus membuatnya sendiri.
sumber