Skip to content

Import Lottie and dotLottie files into Friction v1#794

Draft
pgilfernandez wants to merge 29 commits into
friction2d:mainfrom
pgilfernandez:import-lottie-to-friction-v1
Draft

Import Lottie and dotLottie files into Friction v1#794
pgilfernandez wants to merge 29 commits into
friction2d:mainfrom
pgilfernandez:import-lottie-to-friction-v1

Conversation

@pgilfernandez

Copy link
Copy Markdown

Continuing with AI and the idea of importing/exporting new animation file formats and the Lottie exporter, it makes sense to create an importer to be able to edit "baked" Lottie/dotLottie animations within Friction and be able to export them again.

Here are the list of features:

  • Added support for importing Lottie animations into a regular Friction project.
  • Added support for both .json Lottie files and .lottie dotLottie packages.
  • Added a new Import Lottie Animation action in the File menu.
  • Added an import dialog that compares the Lottie file with the active Friction scene.
  • Added import options for scaling:
    • No scaling
    • Fit width proportionally
    • Fit height proportionally
    • Stretch to scene size
    • Resize the active Friction scene to match the Lottie animation
  • Added import options for scene duration:
    • Keep the current scene duration
    • Extend the scene if needed
    • Fit the scene duration to the imported Lottie
  • Added grouped and ungrouped import modes.
  • Imported Lottie shape layers as editable Friction vector objects.
  • Added support for animated shape geometry.
  • Added support for fills, strokes, gradients, stroke caps, joins, and dashed strokes.
  • Added support for animated rectangle radius and polystar shapes.
  • Added support for Lottie path modifiers, including trim paths.
  • Added support for layer transforms, opacity, skew, parenting, and visibility ranges.
  • Added support for Lottie blend modes.
  • Added support for image layers and embedded dotLottie assets.
  • Added support for masks and track mattes.
  • Added support for basic text layers, animated text content, and text spacing.
  • Hidden or unsupported Lottie content is skipped safely during import.

It makes sense to adapt this code to the Friction v1.1 plug-in system, I'm just dropping it here so that we can experiment with it. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant