2012-05-23 4 views
0

Я пишу iPad cocos2d с анимацией.Работа с огромными текстурами со статической частью

Дизайнер дал мне кадры для каждого анимационного персонажа в png. Я использую TexturePacker для упаковки текстур. Но один из символов очень большой (600x600 пикселей). И там 200 кадров анимации. Таким образом, это будет очень большая часть памяти, если я упакую ее с TP на некоторые атласы. Но действительно не все 600x600 пикселей меняются. Персонаж только двигает руками и ногами.

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

+1

Just FYI: 200 раз 600x600 пикселей с 32-битной глубиной цвета составляет 275 МБ текстурной памяти. – LearnCocos2D

ответ

0

Для других людей с той же проблемой:

В конце концов я отказался cocos2d и написать игру с видео. Огромные анимации были предварительно записаны в видеофайле, небольшие анимации, которые я наложил на imageView.animationImages.

Вы можете изменить время воспроизведения видео, чтобы добавить взаимодействия.

0

AFAIK, нет таких инструментов для такой задачи. И 200 кадров 600x600 пикселей .... Я уверен, что вы не сможете разместить все эти кадры в памяти с другими текстурами в качестве фона, других эффектов и т. Д. Это слишком много для мобильного устройства. Даже для iPad. Вы должны попросить своего художника уменьшить количество и размер рамок, насколько это возможно.

Например, несколько месяцев назад я получил анимацию с кадрами размером 200x300 пикселей. И на самом деле контент составлял всего около 100x100 пикселей. Все остальное место в этих кадрах было заполнено светом. После того, как свечение было удалено, это выглядело не так круто, как раньше, но это было хорошо. И уменьшенные проблемы с памятью.

+0

Thx! Я написал сценарий python и вырезал маленькие прямоугольники с головой, ногами и руками из больших кадров. После этого все кадры соответствуют 42048/2048 атласам. –

Смежные вопросы