Animation question: Looping staggered animations

Modelling, Textures, Animating and other general engine asset topics.

Animation question: Looping staggered animations

Postby Vino on Sat Jul 05, 2014 5:53 am

Hi all. I'm not an animator by trade (I'm a programmer/designer) but sometimes I do an animation or two and I always have trouble with a specific problem, so I'm looking for some tips.

Let's say I want to make a looping animation of a wave traveling along a string. So I have a chain of bones that each somehow modulates its angle over time. It might look something like this:

https://www.dropbox.com/s/eg1xijq77vynl ... e%2023.png

First step is to take each bone and give each bone a sine-type fcurve like so:

https://www.dropbox.com/s/cfjl7ujvtgzdw ... e%2024.png

But that will only cause the thing to curl open and closed over and over, so we need to stagger the fcurves temporally like so:

https://www.dropbox.com/s/jjq3cj5bm46y8 ... e%2025.png

I've moved the fcurve for bones 1 and 2 forward in time to simulate this wavy motion, but now my animation (which goes from frame 0 to frame 100) doesn't loop anymore. I would have to somehow copy the part of the fcurve that went past frame 100 back over to the left to get myself back to looping.

How would a pro animator deal with this?

Note: I'm using SFM to animate because it ties in very well with my game's production pipeline. There may be a technical solution to this sort of thing in Max or Maya and I would like to learn about that, but I'm hoping for a workflow solution, ie some way I can change my behavior, rather than change my tool.

Thanks very much.
Vino
Member
Member
 
Joined: Thu Dec 20, 2007 9:28 pm

Re: Animation question: Looping staggered animations

Postby YokaI on Mon Jul 07, 2014 9:15 am

Most animation tools have the ability to offset the x value, which should preserve looping.

I think you could switch between cosine and sine waves for every other bone as a last resort, but I'm pretty sure (mathematically speaking) an x offset should loop perfectly unless your animation is ending at an odd part of the loop.

A quick tip would be to copy the first frame of you animation and store it until the last frame. This will give you a point of reference to loop the animation.

I wish I was more familiar with SFM so I could help you more, but blender and the like definitely have a fcurve x-offset modifier that should work well and loop properly.
YokaI
Forum Goer Elite™
Forum Goer Elite™
 
Joined: Fri Dec 03, 2004 12:38 am

Return to Art Creation

Who is online

Users browsing this forum: No registered users

cron