[Bf-blender-cvs] [9f34f2b20d5] master: VSE: Fix animation versioning for bezier F-curves
Richard Antalik
noreply at git.blender.org
Tue Dec 22 05:52:55 CET 2020
Commit: 9f34f2b20d558817f800a239896cccf19a926204
Author: Richard Antalik
Date: Tue Dec 22 05:38:56 2020 +0100
Branches: master
https://developer.blender.org/rB9f34f2b20d558817f800a239896cccf19a926204
VSE: Fix animation versioning for bezier F-curves
`seq_convert_transform_animation()` converted only keyframed value, but
when bezier interpolation is used, posotion of handles was unchanged.
This caused significant difference in animation.
I have checked only linear interpolation when testing versioning originally.
===================================================================
M source/blender/blenloader/intern/versioning_290.c
===================================================================
diff --git a/source/blender/blenloader/intern/versioning_290.c b/source/blender/blenloader/intern/versioning_290.c
index 0c64e835e8b..8a85278a931 100644
--- a/source/blender/blenloader/intern/versioning_290.c
+++ b/source/blender/blenloader/intern/versioning_290.c
@@ -113,7 +113,9 @@ static void seq_convert_transform_animation(const Scene *scene,
BezTriple *bezt = fcu->bezt;
for (int i = 0; i < fcu->totvert; i++, bezt++) {
/* Same math as with old_image_center_*, but simplified. */
+ bezt->vec[0][1] = image_size / 2 + bezt->vec[0][1] - scene->r.xsch / 2;
bezt->vec[1][1] = image_size / 2 + bezt->vec[1][1] - scene->r.xsch / 2;
+ bezt->vec[2][1] = image_size / 2 + bezt->vec[2][1] - scene->r.xsch / 2;
}
}
}
@@ -250,7 +252,9 @@ static void seq_convert_transform_animation_2(const Scene *scene,
BezTriple *bezt = fcu->bezt;
for (int i = 0; i < fcu->totvert; i++, bezt++) {
/* Same math as with old_image_center_*, but simplified. */
+ bezt->vec[0][1] *= scale_to_fit_factor;
bezt->vec[1][1] *= scale_to_fit_factor;
+ bezt->vec[2][1] *= scale_to_fit_factor;
}
}
}
More information about the Bf-blender-cvs
mailing list