Просмотр полной версии : В чем преимущество sprite sheets?
Astraport
13.01.2013, 13:20
Удобство - сомнительное.
Куча PNG переведенных в sprite sheets весит почти в 2 раза больше + XML с данными. Может быть скорость доступа к графике?
Куча PNG переведенных в sprite sheets весит почти в 2 раза больше
по сравнению с чем?
Astraport
13.01.2013, 15:50
100 png отдельно против 1 ss с этими png
Zebestov
13.01.2013, 15:56
Удобства, а порой и необходимость, очевидны. Давай же пойдем от обратного, чтобы не получилось так, как будто ты просто теоретически предположил, а мы, практики, тут аргументами да примерами рассыпаемся. Рассказывай. Как ты работаешь с графикой, как ты готовишь атлас, что именно можно назвать неудобством или, хотя бы, сомнительным удобством.
Добавлено через 1 минуту
100 png отдельно против 1 ss с этими png
Покажи.
Astraport
13.01.2013, 16:28
Нда... Был немного не прав.
У меня куча разных картинок, преимущественно PNG т. к. прозрачный фон нужен, но четверть примерно в JPEG. Попробовал паковать опенсорсным пакером http://spritesheetpacker.codeplex.com/ - размер почти 1 Мб против 620 Кб суммарно отдельных картинок. Убрал все JPEG и вырезал все пустоты - все же он неаккуратно пакует - размер уменьшился до 840 Кб. Попробовал коммерческий пакер http://www.codeandweb.com/texturepacker, размер стал приемлимый - 670 Кб
Но цена в 961,34 руб кажется несколько завышенной для такого простого продукта.
Так что все равно проблема до конца не решена - нет нормального бесплатного упаковщика и при переводе JPEG, которые я сейчас использую, в PNG, размер все равно ощутимо увеличится, т. к. JPEG весит как минимум в 2 раза меньше.
Zebestov
13.01.2013, 16:41
А что новый TexturePacker разве лишился бесплатных настроек? Их зачастую с головой хватает.
Да и $30 — приемлемая сумма за хороший инструмент.
Astraport
13.01.2013, 16:44
JXR не пробовал?
Впервые слышу. Поискал - как-то совсем скудная информация.
Следовало бы сказать, что использую Старлинг. И там сейчас активно продвигается ATF - http://wiki.starling-framework.org/manual/atf_textures. Вроде все понятно, как в него паковать и как использовать, может кто скажет насколько выгодно переходить на этот формат?
Добавлено через 2 минуты
Их зачастую с головой хватает.
Только красным угрожают закрашивать некоторые спрайты, ну и другие сложности, если не купить, обещают.
Да и $30 — приемлемая сумма за хороший инструмент.
Да не проблема, но и купить-то не получается. Ссылка из программы выдает ошибку - http://www.codeandweb.com/texturepacker/store?utm_source=texturepacker&utm_medium=app&utm_campaign=3.0.4
Добавлено через 8 минут
Нашел их магазин на сайте.
Zebestov
13.01.2013, 17:22
Только красным угрожают закрашивать некоторые спрайты, ну и другие сложности, если не купить, обещают.
Это только если ты используешь платные настройки. Из бесплатного там был достаточно неплохой упаковщик + Generic XML. Хотя Starling требует Sparrow, да. С другой стороны невелик труд в обеденный перерыв за чашечкой кофе написать конвертер из бесплатного XML в Sparrow ;)
С другой стороны невелик труд в обеденный перерыв за чашечкой кофе написать конвертер из бесплатного XML в Sparrow ;)
В этом нет необходимости, ведь в TexturePacker есть выбор в опциях Data Format -> Sparrow/Starling, даже в бесплатной, облегчённой версии :)
Zebestov
13.01.2013, 18:51
Если не ошибаюсь, в бесплатной версии формат Sparrow был премиум-опцией. Хорошо, если сейчас все иначе.
FlashCS6 генерирует spritesheet из мувиклипа(в библиотеке правой кнопкой кликните по мувиклипу)
При использовании графического ускорения (а так, как ты используешь Starling, ты его используешь) преимущество такое - вместо команд вида:
установить текстуру: птичка
нарисовать объект, наложив указанную часть текстуры (всю)
установить текстуру: кролик
нарисовать объект, наложив указанную часть текстуры (всю)
установить текстуру: злой зааяц
нарисовать объект, наложив указанную часть текстуры (всю)
с использование TextureAtlas'ов получатся команды вида:
установить общую текстуру
нарисовать объект, наложив указанную часть текстуры
нарисовать объект, наложив указанную часть текстуры
нарисовать объект, наложив указанную часть текстуры
А так быстрее.
Поподробнее можно почитать тут: http://wiki.starling-framework.org/manual/performance_optimization
Раздел: The Painter's Algorithm
Удобства действительно, никакого, но при использовании TexturePacker (у меня недавняя бесплатная версия вполне хорошо работает со Starling. При публикации она скажет, какие настройки нужно отключить, чтобы не было красных областей (мне понадобилось отключить Trimming и выбрать алгоритм Basic (вместо MaxRects))), задача сводится к одному нажатию кнопки: для этого нужно не добавлять в TexturePacker по одному файлу, а перетащить туда целую папку - TexturePacker сам будет обновлять файлы в ней по мере их добавления.
Если часть файлов .png, а часть .jpg, и хочется сэкономить память, то можно создать 2 атласа: один с .png, другой - с .jpg.
Про ATF: http://wiki.starling-framework.org/manual/atf_textures
Насколько я понял, преимущество только в памяти, занимаемой текстурами на графическом процессоре. Лично я не думаю, что в 2d играх, столкнусь с нехваткой памяти.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.