Controlling the speed of repeated animation

   18442   9   2
User Avatar
Member
365 posts
Joined: April 2008
Offline
I have a flapping bird animated in 25 frames.
The bird obj is NOT procedurally animated but using key frame method using about 8 to 10 channels for flapping movement.
And i save it as bgeo with 25 frames for one flaping.
Then, i repeated it to the length of the music.

Now, I need to control the speed of flappings to match it to the music.
Would anyone please help me in how i can achieve it to match the speed of bird flappings to the music i imported to houdini.

Steve.
User Avatar
Member
94 posts
Joined: Dec. 2008
Offline
Two possible solutions for that one:

1st: Create different bgeo sequences for each of the possible speeds, and figure out a way to reference them. Like where evr you determine the required speed, you export a variable and refer to it in the file node
GEO`chop(“/ch/music/OUT_SPEED”)`.`padzero(5,1+($F-1)%25)`.bgeo

But that hat would be too space consuming on your discs.

2nd: Use the speed to “skip” some frames of your animation to achieve an effect of speeding up. Or display a frame of your animation for several frames to achieve a slow down. Something in the like of
GEO`padzero(5,1+(($F-1)*chop(“/ch/music/OUT_SPEED”))%25)`.bgeo
where OUT_SPEED is a chop node that computes your “speed”.


Anyway, it's just simple math, when you want your animation to look “slower” you display a frame of it for more than one frame, and if you want it “faster” you just skip some frames. But be aware, that it has its limitations. Outside certain bounds it might look really cruel (Flickering, shutter effects). Like the effect when you watch a car passing by through a fence, at the right speed it seems the tires are rotating backwards….
If you can't script/program it, it's no good at all !
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
If your point count does not change:
25 frames is not that much, the above is good info, but do the old blendshape blend between current and next frame (I tink timewarp can do it too) to get some interpolation, otherwise when the bird is flying realy slow you will get popping.
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
94 posts
Joined: Dec. 2008
Offline
so that would be two file nodes, one at “current” frame and the next to the following frame, both fed in to the blend shape node ? right !?
If you can't script/program it, it's no good at all !
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
yep, pretty much, or 1 file node and branching off a timeshift $F+1.
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
9374 posts
Joined: July 2007
Offline
the easiest way would be

file SOP
|
timeblend SOP (set limits if you wish)
|
timeshift SOP

then just animate Frame Parameter on timeshift SOP (make sure to uncheck Integer Frames Parameter)
and it will smoothly retime your animation as you wish
(of course point count for all frames has to be the same)
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
365 posts
Joined: April 2008
Offline
WOW !!

Thanks million to everybody for offering such a valuable help.
I have been waiting for these for a few days.
I thought you forgot me.
I appreciate it so much again.

Steve
User Avatar
Member
365 posts
Joined: April 2008
Offline
tamte
the easiest way would be

file SOP
|
timeblend SOP (set limits if you wish)
|
timeshift SOP

then just animate Frame Parameter on timeshift SOP (make sure to uncheck Integer Frames Parameter)
and it will smoothly retime your animation as you wish
(of course point count for all frames has to be the same)


Can you give me an example expression for the Frame Para on timeshift sop ? for faster and slower ? Thanks.
User Avatar
Member
9374 posts
Joined: July 2007
Offline
it simply controls Frame you want to get from your animation
so if you animate it with $F expression it will play at normal speed

$F*2 will play twice as fast

you can use float values like $F*1.5 will interpolate input geometry to play smoothly at 1.5 speed

$F/2 will play 3 times slower and so on

you can directly animate that parameter to get nonlinear retiming

be sure to clamp this value to range of your sequence or specify this range in TimeBlend SOP

or you can use modulo to limit it to get repeated animation like if your sequence is 0-24 then $F*2%25 will play twice as fast and will repeat your input animation forever
and so on
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
365 posts
Joined: April 2008
Offline
thank you very much again,
I noticed frames are skipping as i increase the numbers in the $F expression as the speed is getting faster but with flickering images.
How can i change the animation with smooth movement w/o flickering, possibly even w/o blurring effect.

And, after that i still can adjust the speed in the MPlay.
I was wondering what would be better, adjusting the speed in the MPLay or using your method or both for the next phase of my project. Because i believe I need to composite the animation w music and eventually exporting that to After Effect and FinalCut Pro to complete my movie.
Would you advise me the direction in general?

By the way, some people told me Final Cut Pro is not really user friendly.
Would you suggest any other better option? May be Conversetchion ?

thank you very much in advance.

Steve
  • Quick Links