[Bf-funboard] IPO Interpolation

Robert Wenzlaff bf-funboard@blender.org
Wed, 01 Oct 2003 10:55:29 -0400


At 12:18 AM 10/2/03 +1000, you wrote:
>I agree that the IPO's overshooting is very annoying (particularly when it
>involves an object's position). The default shouldn't do that...
>BTW, you can press "V" to adjust the IPO's as well...
>- Luke.

I've been thinking more about my method (even though I had the hotkey 
wrong, I might be thinking Shift-S-H, which would select the Horiz. member 
by name instead of number).

Changing the default behavior of auto handle could potentially break older 
.blend files. (ie; user struggles to kill overshoot by hand, and we change 
his handles and it now undershoots).

So there are three ways of tackling this.  Either a new handle type, which 
exhibits bezier ("B") behavior on constant up or down slopes,  ( 
consecutive increasing or decreasing Y values),  and Horizontal ("H") 
behavior on peaks or valleys.  This is not backwards compatible, since 
older revs won't know what to do with the new type of handle.

Two, change the default behavior of adding new IPO points to alter the 
behavior of the points based on the delta Y of the points to either side.

This has the advantage of backwards compatibility since it introduced 
nothing new.  However it doesn't handle editing a curve ("B" point in 
middle of two "H" points (HBH) is dragged to become peak.  It should be 
HHH*, but stays HBH).

*actually the outer points now depend on the two points outside that 
depending on whether they now form a peak or a constant up/down slope.  But 
there's too many combos to list here.

A third way of handling this would be to make an "Ease in" flag in the IPO 
data, and change the handle types on the fly when editing.  This stays 
backward compatible, since older revs will ignore the extra flag, but the 
handles are saved as their last B or H state.  Forward compatibility is 
handled with revision codes, old .blend file IPOs have this flag 
cleared.  Even though the default should be to have it set, IMHO.

Bob Wenzlaff
(aka Det. Thorn)