Как разложить спрайт лист


9

У меня есть много спрайт-листов плохо отформатированного формата, которые я хочу разложить или разбить на множество небольших изображений, по одному для каждого спрайта. Если я могу это сделать, я могу использовать свой собственный инструмент для упаковки текстур, чтобы создавать игровые ресурсы.

Моими инструментами разработки являются XNA и C #, ориентированные на Windows. Как я могу разложить изображения?


1
Вы можете загрузить их краской и делать, как хотите: D
Shane.C

Texture2D.GetData/ SetDataи некоторые относительно простые математики. Зависит от того, как данные отформатированы. Следите за этим SaveAsPng.
Эндрю Рассел

Краска = боль :)
Рэймонд Холмбое

Я не уверен, как сделать простую математику, хотя
Raymond Holmboe

Ответы:


6

Попробуйте Sprite Decomposer или Sprite Vortex , я полагаю, что они оба имеют автоматическую обрезку спрайтов на основе альфа.


1
Отлично! Sprite Vortex - это приложение, которое я искал.
Рэймонд Холмбое

1
Распаковщик Sprite НЕ РАБОТАЕТ НА MAC OS 10.9
GameLoading

Я разветвлял Sprite Decomposer и портировал его на QT5 для поддержки современной OS X. Пожалуйста, ознакомьтесь с репозиторием github с готовыми двоичными файлами, доступными на его сайте sourceforge
eriknelson

0

На ум приходят два метода, в зависимости от количества фрагментов, которые вы хотите создать:

Либо покрасьте, как отмечено в комментариях. Легче, чем кодирование чего-либо, если у вас небольшое количество спрайтов и / или если вы пропускаете большинство отображений.

Или вы можете написать небольшую программу XNA, которая выглядит примерно так:


У меня нет сопоставлений, к сожалению,
Рэймонд Холмбое,

@RaymondHolmboe Тогда вам нужно предоставить более подробную информацию. Есть ли способ, которым программа могла бы отличить одну карту текстур от другой автоматически, или все субтекстуры имеют одинаковый размер или что-то еще? Если у вас есть больше информации, пожалуйста, добавьте ее в свой вопрос, иначе я не вижу, как вы можете решить ее, кроме как с помощью Paint.
Хакворт

0

Вам нужно эфир перейти на Adobe Fireworks или Paint

Но если вы занимаетесь рисованием, вам также понадобится paint.net! Потому что, если вы используете paint, у него будет фон, поэтому, когда вы откроете этот спрайт в paint.net, вы сможете убрать фон очень просто, но если вы беспокоитесь о текстурах, как в играх, вы должны создать свой собственный.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.