I’m creating a 6 legged walk cycle and have a bit of a problem when trying to create a looping animation using the animation window. I’m trying to keep things smoothly by only setting the extreme points of the leg rotations, which is very easy with two legs, but not with 6…
This works fine:
At 00 a leg is turned 30 degrees, at 10 it is turned -30. Now I copy the 00 frame to 20, and as long as that is my last frame, the animation loops smoothly.
the problem: Another leg is turned to 30 degrees at frame 08, and -30 at frame 18. Between frame 08 and 18 it moves fine, but then it stays there until frame 20 and snaps back to 30 degrees at frame 00, where it is going to wait until frame 08 before it starts moving again.
Any suggestions on how to get it to work without having to set the rotation manually at frame 00?
If you put the rotatable part of the leg inside a parent object, you can animate it relative to the parent. You can also animate multiple sub-objects with a single animation.
There are maybe a few approaches, but I think the simplest is to set keys on frame 0 and 20. It should be simple enough to figure out what there rotations should be. Is there a particular reason you don’t want to keyframe the start and end pose? Here are some alternative ideas (this all depends on your hierarchy though, I’m assuming you have a puppet type setup)
You could have different “pairs” of legs be animated separately and be on different animation layers.
You could script the animation, particularly if it’s just the rotation property of each leg
You could animate the entire walk cycle and loop through only specific frames of the animation on playback
Again, the simplest most direct (and usually best) approach would be to just keyframe the mid rotations.