diff options
author | Joshua Leung <aligorith@gmail.com> | 2014-03-31 15:24:34 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2014-03-31 15:24:58 +0400 |
commit | ed775edeeb489e4710bb685a5fd47b16102eb87a (patch) | |
tree | e9545cd1af698561cff6a0927b366ae823bf05bf /source/blender/makesrna/intern/rna_fcurve.c | |
parent | 93aa9b3755954d178a9067c1bcc37ebb7e18af42 (diff) |
Fix T39405: Make "amplitude" for elastic easing more intuitive to use
Previously, amplitude was more of an "absolute" value in the sense that whatever value
you set it to became a sort of "maximum bounce" height. However, it turns out that this
approach isn't so nice when dealing with large gaps between the values of two keyframes,
as the elastic easing equations expect that "amplitude > |change|" (where change is the
difference in values from key1 to key2).
Now, the "amplitude" value we pass to the easing functions are "|change| + amplitude".
This is easier to control, as now, as soon as you start changing that value, there are
immediately visible effects.
Diffstat (limited to 'source/blender/makesrna/intern/rna_fcurve.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_fcurve.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c index 43f60c4b35f..eca50b84d25 100644 --- a/source/blender/makesrna/intern/rna_fcurve.c +++ b/source/blender/makesrna/intern/rna_fcurve.c @@ -1676,7 +1676,8 @@ static void rna_def_fkeyframe(BlenderRNA *brna) prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "amplitude"); - RNA_def_property_ui_text(prop, "Amplitude", "Amplitude of bounces for elastic easing"); + RNA_def_property_range(prop, 0.0f, FLT_MAX); /* only positive values... */ + RNA_def_property_ui_text(prop, "Amplitude", "Amount to boost elastic bounces for 'elastic' easing"); RNA_def_property_update(prop, NC_ANIMATION | ND_KEYFRAME_PROP, NULL); prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE); |