How to make looping 3D animal animations with Maya cycles

MY.GAMES
MY.GAMES
Published in
9 min readMar 21, 2023

A step-by-step tutorial that shows how to animate dances from scratch, from concept to finished product.

In the real world, you’ll probably never walk into a club, techno music blaring, filled with dogs and cats getting down on the dance floor. But, in the world of video games, animals can dance.

Hi there! I’m Andrey Tsaryov, 3D Animator at MY.GAMES. I recently created over 20 looped dance animations for various creatures, and most of these were for animals! (That said, the detailed workflow and pipeline I’m going to show you today can come in handy for more than just helping our furry friends bust a move!)

In this article, I’ll show you how to breathe life into your virtual friends. I hope you’ll find it useful!

Final animation

For convenience, I’ve divided this article into two parts. In the first section, I’ll share the theoretical aspect of my work and tell you about my workflow development. The second portion will illustrate my complete pipeline.

If you want to skip the theoretical stuff and would rather get straight to the party, just scroll down to read the second half of the article! Let’s go!

My work pipeline development

By the time I start my work, I’ve already got a rigged character (so I’ll skip the stuff about skeletal structure building, skilling, and rigging). In fact, some models even have character animations or design documents ready.

That said, most often, the character’s appearance just sort of speaks to you, and it’s such a great feeling to have the room to dream and imagine the possibilities of working with the character. I love getting to know the rig and playing with the character (and sometimes little in-joke memes even come from this process!)

After having time to become properly acquainted with a character, their habits, and their nature, I have a branching path: I either immediately draft animations based on first impressions, or, I look for references.

After getting acquainted with the character, their habits and nature, I either immediately make animation drafts based on the first impression that comes to my mind, or look for references. These can be of ordinary people, actors, real animals, or other characters that are similar to mine.

There are several conditions and limitations which greatly affect my pipeline:

  • I have to create at least one animation per day, regardless of the rig complexity
  • A dance can be simple, even a one-loop dance is possible here
  • A dance should have a sort of rhythm and, of course, it should look like a real dance

These limitations force the question: what kind of dance can I create with limited time?

What, actually, is a dance?

Dances are rhythmic movements to music; statements or expressions of emotions communicated via the body. Or maybe just a form of entertainment! A good dance can tell us about a character’s nature, their experience, feelings, and their body’s physical capabilities.

Accordingly, if we want a dance to say a bit more about a character, it should be more complex. There is also a simple, quick version of a dance. This carries less information, but can still be quite funny.

If a full-fledged dance is a full story, then a quick dance move is a piece of that story, kind of like a joke.

What does a simple dance look like, and what’s its most important aspect?

This question practically begs for references. Let’s try to recall some memes or to actually Google “simple dance”. I liked the easily-loopable dancing bits from The Aristocats. Of course, video memes with dancing animals are a good resource.

See how simple and yet seamless and balanced this dance is! The hips swing, lingering in the extreme left or right position, a slight turn in the chest and a noticeable tilt of the head. And these are all loops!

For me, the most important thing in dancing is the repetitive movements of the torso and head: they set the rhythm, and with this, the limbs start moving as well.

In other words, the basis of dance animation is the movement of the torso and large forms, so you need to start the animation from there. From there, I work with medium forms: the head, arms, legs. Then, small forms and accents: hands, fingers, ears, and so on.

Check the rhythmic rocking of the lower body and the little accents with the legs; we can practically hear the music!

How to make a simple dance interesting?

When making a simple dance interesting, there are many options: you can add a little movement so that the character isn’t standing still, or you can play with the loop amplitude (this controls how the character takes bigger or smaller swings), or you can make several loops that will change and connect.

Check out this guy’s moves! Here you can see two loops with a simple connection.

FPS and BPM

Let’s talk about timing now: to make our movements actually look like a dance, we first need to understand the loop duration (time range). We’ll have to figure out how long it takes for the character to sit down, stand up, jump, land, turn left and right, and so on.

I decided to start with the concept of (Beats per minute) BPM, something familiar to pretty much any musician. In our case, 120 BPM; that’s 2 beats per second, so the loop will equal out to be 30 frames at 30 FPS. That said, it’s more convenient to work with loops with lengths of 32 frames, since it is easier to increment or decrement the loops: 4, 8, 16, 32, 64, 128, and so on.

A real dance off: a real-case animation scenario

Scene preparation

So, you’ve found references, or you’ve shaped an idea in your mind — great! The first thing to do next is to set up the scene, and distribute the mesh, skeleton and the rig into layers. Switch the mesh to the reference, and hide the skeleton.

If the rig controls are in the hierarchy of the skeleton bones, and they’re hidden along with the skeleton, you can hide the bones in the Show — Joints section.

Left-click everything in the scene — this will select only the rig locators. After that, save the scene separately and name it, for example, croco_rig_anim.

Getting to know the rig

Before starting work on your animation, it’s worth going over the rig locators (controls) to see how everything works.

The rig is usually simple and clear, but nonetheless, if you play with it a little bit further you might end up better understanding its functionality

Fixing locators on the scene

Select all the locators and:

  1. Set a loop of 32 frames; the animation length will be 64
  2. Create a new animation layer
  3. Select a BaseAnimation layer
  4. Move to frame zero and press the S (set Key) button
  5. Select a created layer and press S (at frame zero)

Now you have keys on the layers — these are kind of fixation points which will help you avoid problems when you open them later. These points will also be useful in your work since the locators are fixed on the BaseAnimation layer, so Maya will not confuse their position in space.

Animation of big shapes

Now let’s deal with the movements themselves. First, let’s loop one control from left to right to set the rhythm.

On the zero frame, tilt the control to the extreme position, copy the keys to frames 16 and 32. Then, on frame 16, change the value of the key to the opposite (from -X to +X).

Note that on the X-axis (the red curve) the loop length is 16 frames, not 32 — this is because I want to have a downward angle between the extreme positions.

To loop the curve, use the following flow:

  • Curves > Pre infinity > Cycle
  • Curves > Post infinity > Cycle

Or, press the buttons you see below in the GIF animation.

The loop is ready, but you might’ve noticed a slight pause since the last and first frames of the loop are the same. The solution to eliminate this is quite simple: you can set the playback length, either from 1 to 32 frames, or from 0 to 31.

Now the loop is correctly playing, but the movement is too perfect. Remember the 12 principles of animation? Here we need the 6th principle: smoothing down the beginning and ending of the movement. We’ll create noticeable pauses during the change of direction: to do this, put the keys before the extreme positions, and let’s see what happens.

There are several further options for working with the following controls, but the main idea is the same: you need to move the entire body. You can copy the keys from the animated control to the following one and start working from this point. Or, you can start setting the keys from scratch, as in the case with the first locator. The choice is yours.

To copy the keys, select the source locator, double-click Time liner, then right-click it and click Copy. Then, select the locator where you want to paste the keys, right-click, and Paste.

Simple copying doesn’t, however, work with the head locators, since we put the rotation keys at the body, and the movement keys at the head. Therefore, you’ll have to set them manually.

And now, let the magic begin! Let’s move the loops, coming from the source of the sway — in this case, the neck and head loops.

But, the movements seem to be too smooth, don’t they? To remedy this, let’s add some sharper movements in the head.

This is how you can change the curves: the arrow points to a button that allows you to change the curve separately before and after the key frame

If our reptilian friend is really going to stand a chance in a discothèque dance off, we need to make him shake the rest of his body. Regarding the tail, it’s convenient to select a frame where we can place it in an extreme position, duplicate these frames to the opposite position and invert. After that, we set pauses, move all the curves as we like, with the tail following the body or head.

The only thing left to do is make the legs move and add a few final touches (dealing with the crocodile’s jaw, for example).

The leg curves should look different. In my animation the legs move and turn only during half of the entire cycle, and during the other half they stand still.

This is what I’ve done for the leg animation:

  • Rotation of the leg with an overlap. The leg goes up, but the foot hangs down in a relaxed way, and as the leg begins to go down, the foot bends up. You can see it in the GIF above.
  • The foot rotation lags behind the leg movement, since the rotation starts with the leg movement, so it is better to create this gap.

Polishing and fine-tuning

So, you’ve now completed your loop and you know how the curves work. Cool!

From here, I recommend you take a break, then come back later and reexamine your work with a fresh eye. Your intuition will guide you on what needs correcting or changing. For instance, can could the amplitude — to do so, select a curve and switch the graph display mode.

Press the scaling button (R, by default), hold Shift with the mouse wheel and drag the curve up or down.

You might want to shift the loops relative to each other, or change something, and that’s completely normal. Just like dancing in real life, creating these virtual dances is an entertaining process, so, go on, have fun with it!

--

--

MY.GAMES
MY.GAMES

MY.GAMES is a leading European publisher and developer with over one billion registered users worldwide, headquartered in Amsterdam.