07 января 2015

Создаем атласы с помощью TexturePacker

Разработка для web и для мобильных платформ сильно отличается. Приходится следить за памятью, тут и там уменьшать количество операций, иногда даже изворачиваться, придумывать хаки, а также просто переходить на новые средства разработки. С самым первым, с чем приходится столкнуться - это растеризация графики и атласы. 
Поэтому решил написать сообщение про клевую тулзу - TexturePacker.
С ее помощью я пакую текстуры в атласы, которые использую при разработке своей новой игры на Air + Starling.
Постараюсь коротко расписать плюсы и минусы.
Атлас - это огромная картинка, на которой расположены необходимые текстуры. Зачем так? Это все для того, чтобы gpu не менял свои стейты часто, а все время обращался к одной и той же большой текстуре, беря оттуда кусочки. Производительность существенно вырастает.

Сначала несколько простых фактов:
  • при разработке для gpu, использование атласов обязательно!
  • для мобильных устройств необходимо уменьшить количество используемых атласов до минимума!
  • паковать текстуры в атлас руками - сущий ад :)
Я недолго искал подходящий мне пакер, и в итоге остановился на TexturePacker как на наиболее простом.

Плюсы:
  • поддерживает огромное количество форматов сопроводительных xml-файлов (я выбрал xml-Starling и все взлетело с первого раза)
  • просто drag & drop'аешь файлы и вуаля - на экране готовый атлас
  • автоматическое обновление изменившихся файлов - например, изменил какую-то одну текстурку, а тулза все поняла и уже обновила свой атлас. единственное - хочется, чтобы этот изменившийся атлас тулза пересохранила на диск. а так - приходится переключаться на окно пакера и жать "publish sprite sheet"
  • множество параметров (например, отключаемый Trim или принудительное "оквадрачивание" результируещего атласа) - что радует.
  • автор до сих пор развивает проект - это всегда плюс! 
  • для блогеров-разработчиков игр лицензия бесплатна :)
Минусы:
  • как раз отсутствие опции "Automatic publish sprite sheet", чтобы не приходилось лишний раз переключаться между окнами
  • отсутствие горячих клавиш
  • отсутствие настроек для отдельного элемента атласа. Например, мне нужно отключить Trim для двух-трех текстур, но не для всех. Пока это невозможно.
Собственно все.
Если пользуетесь чем-то еще - пишите, буду пробовать!

Сообщения, схожие по тематике:

0 коммент.:

Отправить комментарий