[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36779] trunk/blender/source/blender/ blenkernel/intern/fcurve.c: modify fcurve evaluation for bool/enum/ int values.

Campbell Barton ideasman42 at gmail.com
Fri May 20 02:17:46 CEST 2011


On Thu, May 19, 2011 at 11:39 PM, Matt Ebb <matt at mke3.net> wrote:
> On Thu, May 19, 2011 at 10:39 PM, Campbell Barton <ideasman42 at gmail.com>wrote:
>
>> Revision: 36779
>>
>> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36779
>> Author:   campbellbarton
>> Date:     2011-05-19 12:39:57 +0000 (Thu, 19 May 2011)
>> Log Message:
>> -----------
>> modify fcurve evaluation for bool/enum/int values. was converting from a
>> float to an int which means 0.9x evaluates to 0.0, negative numbers are also
>> rounded up.
>>
>> Round at 0.5 instead & treat negative numbers the same.
>>
>
> Hi Cam,
>
> I don't think this is such a good idea - if you're animating a bool/int
> property with a curve you want it clearly defined. Currently having it stay
> 0 until the curve passes 1 works well, it's very explicit and clear as to
> where the transition will be. Having a curve progressing from 0 to 1
> switching values now at 0.5 is quite untintuitive in the context of fcurves.
>
> cheers
>
> Matt
>
> PS. This commit also may have broken old animations in some files.

Aligorith and I discussed this before committing, and are aware of the
implications.

To me if you are editing floats, but have them converted to ints later
it makes most sense (on a user level), to round them. If the GUI makes
it unintuitive then it should be made intuitive (grid lines when
zoomed in for example), if you want I can add this.

Nevertheless, this isn't an issue I feel strongly about, and I'm not
an animator :), but at the very least it should use floor(value),
rather then (int)value, this still potentially breaks old files, but
the cases of animating ints that go negative is small enough IMHO that
the correction is acceptable.
Otherwise a straight, linear fcurve can give the same value twice when
switching sign.


More information about the Bf-committers mailing list