Inkscape Interpolation Tool
A downloadable tool
Inkscape Shape Interpolation: Free Tool for Vector Animation
It allows you to interpolate the rotation and position of shapes and groups of shapes.
This is done by creating a rectangle box and using that as the “frame”. Using the frame, the selected shape, or group of shapes, will be duplicated, steadily moving towards the movement or rotations you give it.
Let’s look Link spoof:
Using this extension, we can animate a simple attack animation:
Step 1: Select the back frame FIRST, and then the character
Step 2: Duplicate the character via the extension by pressing “Apply”.
No interpolation is being done just yet.
Step 3: Select the back frame FIRST, and then the sword. This time, we put in 75 for the “Change X” input, under the Axis header. Click “Apply”
At this point, we have the stabbing motion of the sword:
That’s it, sorta
But, that looks a bit boring so far. It’s missing a bit more motion from the character itself. So, let’s add in animations for his legs as he attacks. To do that, I duplicated the leg shapes and interpolated those as well.
After doing similar actions with the back leg, here is what it looks like
The checkboxes below the x-y and rotation input fields allows you to use another object as the anchor point.
So, the selection order for this to work is:
First: Back Frame
Second: Target
Third: Anchor Object
It might be very tedious to try to type in the anchor you want to rotate around, so using another object instead will be more convenient:
In the picture above, we:
- Select the back frame first
- Select the front leg second,
- Select the magenta circle (to use as the rotation anchor)
After some clean up (rearranging the x index, removing the original front legs, getting rid of our anchor, ect), we get this:
There are some limitations to this extension that I will try to fix in the future.
For one, this is not made with padded frames in mind. So if you want space between each frame, this extension will not help much.
The extension does not account for the stroke width when doing calculations, which causes some issues. This is why we use a full background frame instead of outlines and grids. I’m aware that this is a pretty big issue, so I’m thinking of ways to fix that.
Another thing to be aware of is that each result from the interpolation attempts creates invisible rectangles. They are needed to help with the shape translations, but they can get in the way and if you move them to a layer, inkscape will crash. That’s another issue I’m prioritizing fixing.
So yes, this extension is far from perfect. Yes, it is jank as hell, but it has already helped me save a ton of time doing it manually and a saved ton more frustration for me compared to using something like OpenToonz.
Once you download it, you can find the extension in the arrange sub menu. It’s free. All I ask for is feedback and more ideas.
Download
Install instructions
To install this extension to inkscape, refer to this documentation: Extensions — Inkscape Beginners' Guide 1.3 documentation
In that page search "Installing Extensions"