Разработка для web и для мобильных платформ сильно отличается. Приходится следить за памятью, тут и там уменьшать количество операций, иногда даже изворачиваться, придумывать хаки, а также просто переходить на новые средства разработки. С самым первым, с чем приходится столкнуться - это растеризация графики и атласы. Поэтому решил написать сообщение про клевую тулзу - TexturePacker. С ее помощью я пакую текстуры в атласы, которые использую при разработке своей новой игры на Air + Starling. Постараюсь коротко расписать плюсы и минусы. |
Атлас - это огромная картинка, на которой расположены необходимые текстуры. Зачем так? Это все для того, чтобы gpu не менял свои стейты часто, а все время обращался к одной и той же большой текстуре, беря оттуда кусочки. Производительность существенно вырастает.
Клевое познавательное видео про атласы.
Сначала несколько простых фактов:
- при разработке для gpu, использование атласов обязательно!
- для мобильных устройств необходимо уменьшить количество используемых атласов до минимума!
- паковать текстуры в атлас руками - сущий ад :)
Я недолго искал подходящий мне пакер, и в итоге остановился на TexturePacker как на наиболее простом.
Плюсы:
- поддерживает огромное количество форматов сопроводительных xml-файлов (я выбрал xml-Starling и все взлетело с первого раза)
- просто drag & drop'аешь файлы и вуаля - на экране готовый атлас
- автоматическое обновление изменившихся файлов - например, изменил какую-то одну текстурку, а тулза все поняла и уже обновила свой атлас. единственное - хочется, чтобы этот изменившийся атлас тулза пересохранила на диск. а так - приходится переключаться на окно пакера и жать "publish sprite sheet"
- множество параметров (например, отключаемый Trim или принудительное "оквадрачивание" результируещего атласа) - что радует.
- автор до сих пор развивает проект - это всегда плюс!
- для блогеров-разработчиков игр лицензия бесплатна :)
Минусы:
- как раз отсутствие опции "Automatic publish sprite sheet", чтобы не приходилось лишний раз переключаться между окнами
- отсутствие горячих клавиш
- отсутствие настроек для отдельного элемента атласа. Например, мне нужно отключить Trim для двух-трех текстур, но не для всех. Пока это невозможно.
Собственно все.
Если пользуетесь чем-то еще - пишите, буду пробовать!
0 коммент.:
Отправить комментарий