Accelerating objects in animator

General discussion about Animator for SketchUp

Accelerating objects in animator

Postby sigasiempre » Wed May 02, 2018 4:30 pm

I need to accelerate objects. I see that I can do this via easing. Is there another way?

The problem is that when I apply easing (such as "exponential" or "back"), the speed is first dropped to zero or near-zero. I need the objects to accelerate from the speed they already have instead of dropping their speed first and then accelerating.

Thanks for any help.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby Schuppe » Wed May 02, 2018 7:35 pm

Hi sigasiempre
Dont know if it is the smartest solution, but my first thought.
Make a cube and move it to the right- 1000mm in 0.2 seconds
repeat this translation say 4 times. This is a continuesly movement.
Now select the same movement again.
But now make it UNIQE ( the button right from the movie button in the box for the movement)
Now you can enlarge this movement/translation to say 2000mm in 0.2 seconds.
Repeat this step with other distances like prefered.
And there is your acceleration!
Hope it helps.

Schuppe
0
User avatar
Schuppe 
 

Re: Accelerating objects in animator

Postby sigasiempre » Thu May 03, 2018 12:47 am

Thanks for the idea. The question would then be how short the segments would have to be to get a reasonably smooth acceleration. Movies are 24 frames per second. So to get a 3 second segment that would be 72 segments. Alternatively I think that 15 or even 12 frames per second would be smooth enough. So that 45 or 36 frames for a 3 second segment. But I actually need 12 3 second segments so that would be a total of 432 segments at 12 frames per second or 540 segments at 15 frames per second. Possible to do once I had the process streamlined but quite a bit of work.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby Schuppe » Thu May 03, 2018 5:23 am

Animator will do the trick for you. You dont have to manage each and every frame.
if you make the film you will see, everything is smooth. try it out.
0
User avatar
Schuppe 
 

Re: Accelerating objects in animator

Postby fredo6 » Thu May 03, 2018 9:16 am

sigasiempre wrote:I need to accelerate objects. I see that I can do this via easing. Is there another way?

The problem is that when I apply easing (such as "exponential" or "back"), the speed is first dropped to zero or near-zero. I need the objects to accelerate from the speed they already have instead of dropping their speed first and then accelerating.

Thanks for any help.

The right method is to group the elements of animation into a clip. Then you can apply the easing to the clip.

Here is a video showing ho this can be done on a simple example.



Animator - Easing for Group.gif


Fredo
1
User avatar
fredo6 
PluginStore Author
PluginStore Author
 

Re: Accelerating objects in animator

Postby sigasiempre » Thu May 03, 2018 2:37 pm

Thanks for setting up this example, Fredo6. My problem is that I need the object (the green cube in your example) to already be in constant motion at the start. I then want to accelerate this motion. So if the cube is moving at 1 m/s for a while I then want to accelerate it smoothly up to 5 m/s, In your example when easing is applies to the green cube it starts motionless.

I set up a trial in which a cube is first moving at constant speed in translation #1. I then created 4 m ore translations, each at higher speed. I tried two things:

1. I grouped the 4 translations together and then applied easing. The cube moved at constant speed in translation #1. But then it stopped first before it began to accelerate in the 4 grouped and eased translations.
2. I then tried not grouping the translations (as I think Schuppe is suggesting). I got constant motion in translation #1 followed by acceleration in translations #2-#5 as I wanted. But the motion was jerky. I could solve this by creating a large number of translations, each with a small increase in speed. With a large enough number of translations I think I’d get smooth acceleration. But that’s a lot of work considering that I have 12 separate motions I need to do this with. So if each needs 60 or 70 separate elements to end up smooth, that’s 12x 60 or 12x70 elements to create. I can do this if necessary but I’m hoping for an less time-consuming solution.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby Schuppe » Thu May 03, 2018 7:15 pm

Ok, i think you want it super smooth. You do it the hard way ( every 0.1 sec speed a tiny bit up)
The result are a lot movements for one object. So far so bad.
But for the second object you did it with kinematic constrains -- Master-slave.
For the third object and all the others: If you click on the >edit the properties< Button in the box for the kinematic constrains you will find a > clone < button.
With this button you can make slave other objects for the same movement/sequences .... and done!!
You make the work only for one object, what you say?

happy animation
Schuppe
0
User avatar
Schuppe 
 

Re: Accelerating objects in animator

Postby Schuppe » Thu May 03, 2018 7:51 pm

sorry men, NOW i realized. you do not want to move 12 objects with the same movement.
You want to move ONE object with 12 different movements, right?
I am so stupid !!!! shame on me. :oops:
Schuppe
0
User avatar
Schuppe 
 

Re: Accelerating objects in animator

Postby sigasiempre » Thu May 03, 2018 8:25 pm

No problem Schuppe :)

If I had a streamlined way to do one translation I could do the rest.
But also didn't mention that I also need to be able to control acceleration for scaling as part of this project. If I can solve the problem for translation then maybe I can use a kinematic constraint to tie acceleration for scaling to translation acceleration. That would work. I don't know if Animator can constrain a scaling movement to a translation movement.
But so far I don't see a practical solution for the translation acceleration problem to begin with.

Is it possible that SketchUp and Animator aren't suited to my application? If no solution emerges I guess I have to try another app. I do like Animator and I've started to get accustomed to using it. My needs aren't super complex but I do need to be able to control acceleration. No complex modeling needed. I'm thinking of trying Blender. It's free and I think it can handle what I need. But it's got a considerable learning curve. I wonder if anyone has other suggestions. I'd even consider 2D though I'd prefer 3D. Maybe Flash?
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby fredo6 » Thu May 03, 2018 9:36 pm

Actually, I am implementing two speeds (for translation and rotation / spin), one for start, the other for end. So this gives a constant acceleration. Easing on top will allow to tweak the acceleration, that is, the transition from the initial speed to the end speed. That should do the trick.

This will go in the next version of Animator, on Monday.

Fredo
0
User avatar
fredo6 
PluginStore Author
PluginStore Author
 

Re: Accelerating objects in animator

Postby sigasiempre » Thu May 03, 2018 9:39 pm

Great! Thanks.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby sigasiempre » Fri May 04, 2018 1:42 am

One more question, Fredo6...

I need to apply the same acceleration and deceleration to object scaling. Is that possible? Or can I accomplish this using a kinematic constraint between a translation element (with acceleration or deceleration) and a scaling element?

Thanks for your help.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby sigasiempre » Fri May 04, 2018 3:56 am

To clarify, I need to be able to give scaling movement a starting velocity rather than have it starting stationary.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby derei » Fri May 04, 2018 12:16 pm

sigasiempre wrote:To clarify, I need to be able to give scaling movement a starting velocity rather than have it starting stationary.

Not sure your explanation is clear enough. At the start of any movement, the object is stationary in relation to the environment where the movement happens.
If you want to define a specific speed, the only way you can do it in Animator is to declare the distance of movement and the duration of that movement (which is basically the formula for velocity: v=distance/time)

Easings are used to have a smooth variation in object's momentary acceleration (based on a curved selected in easings editor).
Without any easing, your movement will be linear from Start to End.
With Easing, you will have the same average velocity (easing won't affect the overall time for the object to travel the distance), but the acceleration measured in each point of travel will be affected by the curve selected in the easing. This way you can make an object start slowly and accelerate, or start suddenly and slow down... and there are many other options, which you will have to test for yourself.
0
DESIGNER AND ARTIST DEREI.UK
User avatar
derei 
 

Re: Accelerating objects in animator

Postby sigasiempre » Fri May 04, 2018 1:47 pm

derei: Currently in Animator it's not possible to specify starting and ending velocities for translations. The velocity of a segment is determined by its distance and time, as you mentioned, or by entering the velocity directly. However translations begin at zero velocity. Fredo6 wrote above that in a new version available Monday it will be possible to specify starting and ending velocities for translations and rotations. However, I also need to specify starting velocity for shape change motions along the axis along which the shape change occurs. I'm not sure if Fredo6 will provide this option also.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby sigasiempre » Fri May 04, 2018 1:55 pm

derei: As you described, easing is applied to a segment without changing the average velocity for the segment as a whole. The same would be true for non-zero starting velocities.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby fredo6 » Sun May 06, 2018 11:29 am

@sigasiempre and @derei

Just to clarify, Easing plays with Time and is generic, whereas Acceleration plays with movement and is specific

  1. Easing is simply a function curve starting at (0, 0) and ending at (1, 1) that transforms the base time ratio into the actual time ratio to be used for positioning the animation in time. When there is NO easing, the curve is a straight line, so the actual time ratio is equal to the base time ratio (if your base ratio is 0.7, the actual ratio is also 0.7). If the Easing curve is exponential (start slowly then climb fast), then the low values of the base ratio will corresponds to much lower values of the actual ratio (say base ratio = 0.2, actual ratio = 0.05), and then high base ratio will corresponds to much higher value of the actual ratio. hence the impression of acceleration.
    Easing is completely independent of the movement and can be applied to any kind of transition, including for cameras.
  2. Acceleration is only related to Movement and deals with how the speed varies along the movement. It cannot be simulated by Easing. This simply requires to manage two speeds, initial and final, giving a constant acceleration in between.

I am implementing the accelaration with two fields for the initial and final speed.

Animator - Acceleration.png


Fredo
0
User avatar
fredo6 
PluginStore Author
PluginStore Author
 

Re: Accelerating objects in animator

Postby sigasiempre » Sun May 06, 2018 2:11 pm

Thanks Fredo6. My understanding is that easing does produce acceleration during particular intervals within a segment since velocity changes during those intervals. But easing does not produce average acceleration for a segment as a whole since average velocity doesn't change for the segment. This is because velocity is fixed by the time and distance for the segment. Therefore any acceleration that occurs in particular intervals of a segment is balanced by deceleration in other intervals. But easing does produce acceleration in the sense the velocity is different at the start than at the end of the segment. However its better for my purposes to be able to control acceleration for a segment by editing the displacement vs. time curve for the segment. Though I doubt that many other users would want this capability.
Thanks much for your help.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby fredo6 » Sun May 06, 2018 6:00 pm

sigasiempre wrote:Thanks Fredo6. My understanding is that easing does produce acceleration during particular intervals within a segment since velocity changes during those intervals. But easing does not produce average acceleration for a segment as a whole since average velocity doesn't change for the segment. This is because velocity is fixed by the time and distance for the segment. Therefore any acceleration that occurs in particular intervals of a segment is balanced by deceleration in other intervals. But easing does produce acceleration in the sense the velocity is different at the start than at the end of the segment. However its better for my purposes to be able to control acceleration for a segment by editing the displacement vs. time curve for the segment. Though I doubt that many other users would want this capability.
Thanks much for your help.

You are correct. Easing accelerate Time, which gives of course the impression that the speed is changed and the movement is accelerated.
What you need is a linear variation of speed (i.e. constant acceleration)



Note: in the video, the green cube is also accelerated along the circular path.

Fredo
0
User avatar
fredo6 
PluginStore Author
PluginStore Author
 

Re: Accelerating objects in animator

Postby sigasiempre » Mon May 07, 2018 1:37 pm

The ability to control starting and ending speeds provides the ability to select whatever constant acceleration is desired. Great! Thanks very much Fredo6. However, as I wrote in a previous post, I have realized that I need a parallel ability to control acceleration in shape change motions along an axis. I imagine that I am the only person who needs such a feature. So I doubt it would be worthwhile to add this to Animator.
0

sigasiempre 
 

Re: Accelerating objects in animator

Postby fredo6 » Mon May 07, 2018 1:47 pm

sigasiempre wrote:...I need a parallel ability to control acceleration in shape change motions along an axis. I imagine that I am the only person who needs such a feature. So I doubt it would be worthwhile to add this to Animator.

From the calculation standpoint, tt is possible to vary the acceleration too, but the issue is with the GUI of the sequence Editor.
So I need to take another approach, which I will do, but in another version.

Fredo
0
User avatar
fredo6 
PluginStore Author
PluginStore Author
 

Re: Accelerating objects in animator

Postby sigasiempre » Mon May 07, 2018 2:04 pm

Thanks much Fredo6. But please don't make this change for shapes only for me. It's a lot of work for just one person and I'm sure you have lots of other work to do. If there are other people who would benefit from this perhaps they can mention this in this message thread.
0

sigasiempre 
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 



 

Return to Animator Beta

Who is online

Users browsing this forum: No registered users and 2 guests

Visit our sponsors: