MMD First Steps Make your own motions from scratch

A Feature Article by Reggie Dentmore on LearnMMD.comHow do I make my models move in MikuMikuDance? Why does my model move so slowly? How do I keep my model from moving until I want her to?

Learning to make your own motions is a big part of learning MMD! The more you learn, the easier it becomes and the more you will want to do… and the more you do, the more you will learn: practice, practice, practice…

MMD First Steps…
Make your own motions from scratch!

Load the model Miku.

Load the model Miku.

When you first load your model, she will be in the standard pose as shown in that image of Miku.


Reggie's "Livelier" pose breaks the ice!

Reggie’s “Livelier” pose
breaks the ice!

That initial pose is an “inspiration killer”… I mean, you have a shining idea in your mind’s eye as you open MMD… you load that model… she looks so frozen… and suddenly the task looks to be overwhelming! … The easiest way to “get over it” is to load a pose onto that model, right away. I have a few ready-made poses that I keep in my Pose folder inside the UserFile folder. You can download the “Reggie’s Little Pose Collection” from the Downloads page if you want to have the same pose I show you here… I call it the Livelier pose. … Ahhh; she looks so much more at ease!

Motion Basics…

Each motion you create will have a set-up, a duration, and an end/or set-up for the NEXT motion. … and you need a plan!

For this demo, I am going to ask Miku to notice we are here, look up at us, turn her upper body towards us and then give us a little wave.


Every animation “move” is based on timing… generally, MikuMikuDance animations are set to “move” at a frame rate of 30 frames per second (30 fps)… the YouTube standard frame-rate. Under the VIEW menu, check the 30fps max setting.

When making a new motion, I usually use myself as the model… I pantomime the motion to see how I move and how long I take to make that motion.

For this motion, I want Miku to look up in surprise, rotate her upper-body towards us, raise her right arm, and give us a quick wave with that right hand… and I want that hand to have the fingers move from a closed hand to an open hand for the wave.

In pantomime, the whole motion takes about three seconds… 90 frames. The “look up”: a little less than a second… call it 20 frames, as that motion is about done, the body starts to twist towards us… and as it does, the right arm starts to come up… and most of the last second is the wave, itself.

So, now I have a notion of how this is going to work… how it’s going to look.


Make your own motions…

Starting in Frame Zero… ?Learn to make your own motions in MMD. Set-up a camera position as a first step.

CAMERA…As I get into this test, and while in Frame Zero, I first went into camera mode and registered a camera position… looking down onto the model, a little bit… and kind of close-up.

A little pause before the first move… For this test, I want to move the motion-start out away from frame zero… so that I build-in a bit of a pause as the opening moment… I imagine that I am watching my finished video… and I’d like the viewer to have a second or two to “take in the scene” before the action starts… keep your viewers in mind as you make your own motions… I have already placed Miku in that Livelier pose in Frame Zero… so now I will do a V-Select to capture all the diamonds in Frame Zero and Copy… and then paste ’em into frame 40… so the model will stay still from Frame Zero to frame 40, a fat-second’s pause before the action starts.

30-Frames Per Second…

I want Miku to look-up towards us, in surprise… in less than a second… call it 20 frames… so I move out to frame 60 and position Miku’s head to face us. … a split-moment after her head starts to pivot, I want her upper body to turn our way… and finish that turn after the head has already focused upon us… so in frame 50 I Register the Upper Body position, so it doesn’t move until then… and then in frame 70 I rotate the upper body and register… and then I go back to frame 60 and fine-tune that head motion to see that it is still facing us… and then go to frame 70, again, and see that the head is till facing us… be sure to register every move.

Try it out… push PLAY!

I entered a range of 0 – 100 in the windows under the Add an interpolation curve for a snap-fast action!Play button and pushed play… the motion is there… but dead-looking… to spark-it-up, I used the interpolation curve… which now makes the head and body motions “snap!”… I found that only the head-motion in Frame 60 needed the curve to be as extreme as that!

As you make your own motions, this interpolation curve decelerates a motion.For the upper-body, I decided on this curve to soften THAT motion at frame 70.

Now when I push play, the action is more life-like.


Build the arm motion…

To set-up the arm motion, I went to frame 65… and registered each of the right-arm bones… and I also reloaded the hand-pose, too… and registered to lock-in that hand pose (The hand pose in that Livelier pose is the RHpointRelaxedRD pose in the Reggie’s Hand Pose folder you can download from the Downloads page.)… so that the hand and arm will not have moved, yet in my animation. … Doing this in frame 65 means that the arm motion will start before the upper-body motion is complete (in frame 70).

Wave position, Frame 85.

Wave position, Frame 85.

Again… the raising the arm motion will take less than a second… so I am allowing 20-frames… move out to frame 85 and position the right arm, elbow and wrist into the first wave position… and also load the RHspreadHaltRD pose data to that right hand.

Now when I push play, I see that the arm As you make your own motions, you often need to register a motion's start position.motion starts way too late… I had done my set-up in frame 65… so I went there and selected all those diamonds and did a Copy/Delete and then experimented to find the right place to paste them back in… and I settled upon frame 58 as the spot to paste ’em.

Interpolation curve used for Elbow R and Wrist R, Frame 85... acceleration!

Interpolation curve
used for Elbow R and Wrist R, Frame 85

Now when I push Play, I like the timing of the action… but it has that “dead” look, again… I have to add the interpolation curve to the elbow and wrist diamonds in Frame 85.

Making waves!

I decided to make the wave motion by rotating the Elbow bone. As I did my pantomime, I see that I do not use my wrist, like I’d thought… but simply rotated my forearm to make the wave. It also seemed that I wanted three waves… and I could do two of them a second… so 15-frames per wave-cycle… so 7-frames out and 8-frames back for one cycle … rotating the elbow on the local X-axis… with just a little left/right on the Z-axis. … but when I tried it, that way, the motion didn’t look right… so I made the wave motion by rotating the Wrist R with the Y axis, instead.

I add the three wave-cycles… To do the first one, starting from frame 85, I moved 7-frames and rotated the wrist to the left… went back and copied the Wrist start position from frame 85… and went out 8-frames past theThe natural motion interpolation curve. latest motion and pasted that start position… one cycle done. … Then I highlighted the diamonds of that cycle and pasted ’em in two more times… now I had three cycles… three waves of the hand. … After pushing play, I saw that I needed the interpolation curve… I used what-I-call the Natural Motion curve… eases into and eases out-of a gentle motion. … I applied that curve to each diamond of the wave motion.

Motion EXPAND… to speed-up the wave!

Now the whole animation is starting to look good… but I feel like that hand-wave motion is a little too slow… I used Range Select to select all of the diamonds in my wave motion… 85-135… and, seeing the diamonds were indeed selected, I clicked EXPAND, right there by Range Select… and entered a value of .8… so that motion duration would be only 80% as long… but when I pushed Play,  that wave was now too fast… so I did a Control-z to undo the .8 Expand… and I expanded by a factor of .9, instead… looks good.


So… now I am getting close to finishing this little motion… but I see that Miku’s wrist moves through her sleeve. I scrolled through the motion looking for a worst case… and then I fixed the sleeve. I decided that, rather than shorten the sleeve and look for that as a single “fix”… I’d include the sleeve in the motion… so I made the sleeve oscillate with the waving wrist motion. … it works.

So now I am going to add a few frames to let her hand and arm relax… so in the final frame of my animation, so far, frame 125, I am going to register the position before moving on to the next one… register arm, elbow, wrist, and reload the saved hand-pose so everything is locked-up. … Now move out another 30-frames and rotate the arm and elbow into a relaxed position… and load a new hand-pose… RHrelaxOpenRD… add the Natural Motion interpolation curve to the arm and wrist diamonds… … my animation is now out to 155 frames…  so I am setting the Play range as 0 – 200… and it looks nice.

FACIAL Sliders…

I went to Frame Zero and set up an average expression for Miku… a little blink, mouth open just a little “i”… and eyebrows down to look normal.

Then when she turns, her eyes light-up and she grins… so copy/paste those new facials out to about frame 55… so nothing happens to her face until after frame 55. You have to paste ’em into frame 40, too… since we had facial data in that frame.

At frame 55 I also set the Grin at zero and registered… then moved out to frame 65 and opened the eyes and increased the grin… and registered the “a” without changing it… registered it, again in frame 90… and then did a little lip-flapping motion using the “a”… taking about 25 frames.

I set the Play range out to 260… 0 – 260… I added a little arm relaxation action… and called it finished.

Have fun with MikuMikuDance!


Visit the Homepage! Plenty of Mikumikudance instruction and info!