Привет, читатели)
В общем, сия история началась аж месяц назад Я доделал обновление для игры, кажется это было 0.4.1 и там, один из моих не многочисленных тестеров нашел интересный глюк с изображением:
Если внимательно присмотреться, то можно заметить тонкую светлую рамку вокруг анимации. После продолжительных поисков, я все же выяснил причину - я криво склеил анимацию в PhotoShope! В следующие несколько десятков минут сей недостаток был устранен! Но, кроме успешно исправленного бага я задумался еще о том, что я очень не продуктивно обращаюсь с графическими ресурсам в игре.
Практически все что Вы видите на скриншоте выше, это текстуры, которые представляют из себя картинки в формате .png. Для того что бы их использовать в игре, из нужно загрузить и держать в оперативной памяти!
Раньше все мои текстуры хранились на диске примерно так:
В общем, сия история началась аж месяц назад Я доделал обновление для игры, кажется это было 0.4.1 и там, один из моих не многочисленных тестеров нашел интересный глюк с изображением:
Практически все что Вы видите на скриншоте выше, это текстуры, которые представляют из себя картинки в формате .png. Для того что бы их использовать в игре, из нужно загрузить и держать в оперативной памяти!
Раньше все мои текстуры хранились на диске примерно так:
Соответственно для подготовки их для работы мне приходилось вручную писать кучу кода!
Я думаю, что вы уже догадались, что труЪ пацаны такое терпеть не станут, поэтому я стал искать иной способ обработки и подготовки текстур!
Мой взор упал на замечательную кросс платформенную программу TexturePacker.
TexturePacker предназначен для запаковывания мелких спрайтов в атласы.Зачем вообще нужны атласы? Ну... хотя бы из-за вот таких двух преимуществ:
- Возможность группировать спрайты при отрисовке так, чтобы избегать ненужного переключения текстур или и вовсе отрисовывать все за один раз(batching)
- Экономия памяти устройства. Так как графические чипы работают только с текстурами размеры которых являются степенью двойки (а некоторые к этому добавляют требование, чтобы текстура была квадратной), то это может стать неявной причиной перерасхода памяти. Давайте представим, что у нас есть некий элемент интерфейса, или элемент декора уровня, шириной 280px и высотой 40px. Если загрузить данную текстуру в любой графической библиотеке, то ей придется загрузить его в текстуру размером 512x512. А если таких текстур несколько? Представляете сколько Вы можете потерять памяти, просто так?
TexturePacker имеет очень много полезных опций и настроек, которые позволяют учитывать все требования к генерации атласов. Крутая поддержка целой кучи различных игровых движков:
Короче говоря, вместо кучи файлов у меня получился всего один:
Причем как я уже и говорил, подключить его в разы быстрее!
Для себя я открыл данный клад еще месяц назад. Переделал игру для работы с текстурами такого вида и все... В смылсе 3 недели не не прикасался к игре, и не меня текстуры тем более!
Но не всегда же мне быть таких лентяем? И вот, мне понадобилось добавить новую текстурку в уже существующий атлас! И как бывает в самый не подходящий момент, у меня закончилась триал версия программы, и по этому половина нужных и важных функция отказались работать! (В принципе, можно было работать и так, но когда попробовал и ощутил все мощь полной версии программы.. в общем, сами понимаете) )
На сайте разработчика подписка на год стоит USD 39.95. Согласитесь, не так уж и много, но сейчас не самое лучше время для покупок)
В моей
Уже на следующий день мне на почту пришло счастливое письмо:
Сказать что я был удивлен и безумно рад - ничего не сказать) Прям аж захотелось создавать игры еще и еще! Ссылка на страницу регистрации, а вдруг кому понадобится!
Вот такая маленькая Happy история со мной приключилась!
До скорых встреч, читайте меня и дальше)
P.s. Но это еще не все замечательные новости для меня в тот день (5.11.14)
Комментариев нет:
Отправить комментарий