Time-based easing?

Moderators: Disciple, zlovatt

Post Reply
lunelson
Posts: 18
Joined: March 26th, 2006, 1:58 am

October 31st, 2008, 7:36 am

--
I'm going to try to make this short and see if anyone bites. I'm trying to figure out another way of controlling easing parameters, other than velocity/influence; specifically I'm racking my brain to imagine a way of easing based on a specified TIME, irrespective of the spatial or temporal displacement between keyframes.

Of course I know there have been many posts with questions about easing, and I made one some time back about a method for easing and scaling exponentially (very rudimentary stuff -- I am not a programmer); but my dissatisfaction with this is that it relies on the standard mathematical curvature methods of easing: which is to say that whether you are using Eased KFs, or the standard ease() expression, or other methods such as provided by Ian Haigh, there is a major a weakness: the longer in time the move you make, the more the easing curve gets spread out over that time.

I want to contain the 'shoulder' and 'foot' of the curve -- so to speak -- to a specific range of time at the beginning and end of a move between to KFs, and have a straight curve in the middle. I want to specify an "ease time" for how long it takes the velocity of the move to go from 0 to x and from x back to 0 at the end.

What do you think?

It occured to me that perhaps one should think of this 'ease time' parameter as a maximum value, so that if the value I set it 3 seconds, but then I apply the expression to a property (let's say Position, or Scale -- I'm thinking about the so-called Ken Burns effect) where the keyframes are only 5s apart, the algorithm would just produce a normal ease curve; but on a longer move, the curvature is kept from influencing the entire move.

Feedback appreciated,

LMN
Mylenium
Posts: 139
Joined: July 20th, 2005, 12:07 am

October 31st, 2008, 10:16 am

The way I understand you, you simply need a fixed segment length based on the proximity which can easily be done by dividing the space between keyframes and deciding which side you're on. From there you'd simply add/subtract the start time and feed it into your actual easing function rather than the keyframes themselves. Question is however, whether this has really any use for anything other than spatially linear motion - most other parameters will look like a Flash Tween gone wrong using this method. and of course you'll have to run it all thru the expression, which will make adjusting things on the UI quite cumbersome and less than predictable.

Mylenium
[Pour Mylène, ange sur terre]
lunelson
Posts: 18
Joined: March 26th, 2006, 1:58 am

November 2nd, 2008, 6:33 am

Thanks for the response Mylenium,

you may have lost me already though -- let me try to be clear:

1. Yes, this about spatial parameters (position, or anchor point)

2. It's mainly about being able to ease a long move but not having the ease curve be spread out over the whole curve. For example with some curve types, like quadratic, on a 20s move the first 8 or 9 seconds are all acceleration and the last 8 or 9s are all deceleration. Even sinusoidal (the standard type) spreads out too far on long moves.
-- what I want, is a way to preserve a long section in the middle that would be flat on the speed graph. I want the easing to happen only in the first/last 2-5 seconds (a value to be specified in the expression, hopefully), regardless of the length of overall move.

I think it's the kind of thing that sounds trivial at first but it's pretty hard to do. Even with standard keyframes you can't dial it in, you have to tweak by hand.

e.g.
Here's a basic move from 0 - 6 seconds, linear
Image
Then I add two more keyframes and only ease the outer ones, hoping to preserve a linear section in the middle; obviously still not right
Image
The finally, what the KFs should look like...actually I can't even quite get it by hand; it should be continuous speed at 1 and 5s and a flat line between them. Here's the closest I could get, only by moving the middle KFs closer together which I don't want to do and also isn't the right solution anyway
Image
lunelson
Posts: 18
Joined: March 26th, 2006, 1:58 am

November 5th, 2008, 6:12 am

Still no takers? If this is so easy, what am I missing?
Post Reply