Lottie и 3D — это реально
В документации Lottie описана поддержка 3D-трансформаций слоёв: rotation, position и scale по всем трём осям. Не камеры и не освещение, но базовые 3D-свойства экспортируются корректно.
Важный момент: рендер 3D работает только через оригинальный Bodymovin, не через версию для Telegram. Чтобы получить анимацию в Telegram, рендерим через обычный Bodymovin, а затем прогоняем JSON через
@StickersConverterBot, который сконвертирует его в TGS-формат.
3D работает в двух режимах.
С шейпами поворачивается сама геометрия, строук двигается по path и сохраняет толщину при повороте.
С композициями слой ведёт себя как плоскость в пространстве, строук «запечён» внутри и остаётся равномерным.
Для 3D в Lottie существует скрипт Extrudalizer, но он громоздкий: генерирует большое количество ключей, что раздувает итоговый JSON. Это критично с учётом ограничения Telegram на TGS-файлы в 64 КБ. Его лучший друг, Create Nulls From Paths, более оптимизирован, но всё равно требует запекания ключей. Способ через нативные 3D-трансформации этого не требует вовсе, результат легче и проще в управлении.
P.S.
В приложенном медиа звёзды в Native 3D выглядят сжатыми, но на рендере в .TGS формате строук двигается по path и сохраняет толщину, так что звёзды отображаются объёмными.
Файл с примером в комментариях
Native3D —
CNFP —
@uxgraphics
Обсуждение 16
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram