Since i’m reworking Synfig time & animation subsystem, i’m getting rid of current hard-coded & hard-to-edit interpolation via waypoints and replacing it with lightweight valuenodes. Interpolation of simple values (plain numbers, angles, times) will be done via curves (github.com/synfig/synfig/issues/295 - mostly works already, except for fancy ui and error-checking). However, that can’t be applied directly to shapes, so now i’m researching how to do it and one way is to use existing weighted average node. It is not practical to do so at the moment (as there is no ui to automate valuenode connecting) and it generally doesn’t solve a problem of morphing shapes with different vertex amount, but i think it might be interesting to see that morphing from two individually editable shapes is possible even now.
First .sif (marked as “linear”) should be compatible with 1.2.0, but it lacks curve interpolation (it’s replaced by linear value node, but you can animate weight_a exported value node by hand instead). Second one requires timecurve value node, which is still in development and can be built from here: github.com/caryoscelus/synfig/tree/curve_node
Click on .gif to see animation.
I’ve also recorded screencast demo of playing with it in Synfig (forum doesn’t accept it as attachment, sadly). github.com/caryoscelus/synfig-d … -fast.webm
You can also get files here: github.com/caryoscelus/synfig-d … 30-morphin
test-40-weighted-morphing-fix.sif (48.9 KB)
test-40-weighted-morphing-linear-fix.sif (39.7 KB)