Боль многих аниматоров в Telegram?Сегодня хочу поговорить о важной теме для всех, кто работает с TGS анимацией в Telegram: оптимизации. Не частая, но давящая проблема уместить анимацию в 64 кб встречается у многих в последнее время. Собственно я не стал исключением.
Эту же тему затрагивали ребята из студии "
Оно и видно" в своем недавнем
посте. К нему я и обратился когда встал вопрос оптимизации и немного усовершенствовал 🧑💻
Глобально когда вы экспортируете Lottie-анимацию из After Effects, на выходе получаете JSON-файл. Этот JSON-файл содержит всю информацию об анимации:
- Координаты
- Цвета
- Тайминги
и многое другое
Затем этот JSON-файл сжимается GZIP и получает расширение .tgs
Теперь перейдем к самому интересному — как уменьшить размер JSON-файла?▪️
Удаление лишних слоев и свойств: Каждый лишний элемент — это байты. Убирайте все, что не влияет на конечную анимацию.
▪️
Минимизация ключевых кадров: Используйте как можно меньше ключевых кадров.
▪️
Онлайн-компрессоры JSON: Например,
lottiemizer или другие аналогичные сервисы.
▪️
Ограничение точности: Уменьшение количества знаков после запятой для координат и других числовых значений.
Если вы выполнили первые три шага, и ваш файл все еще великоват, то для ограничения точности после запятой вы можете использовать скрипт форматирования JSON.
Файлик будет ниже в комментариях.Применяя описанные методы, вы сможете значительно уменьшить размер ваших файлов, улучшить производительность. Надеюсь, этот пост был полезен!