The simplest interactions between people in real life can be very difficult to animate; especially when you have two characters interacting and they have to come into physical contact with each other.
Simple interactions like holding hands or trying to co-ordinate a dance where two people need to be holding each other can be a near impossible task. As one body moves, the other will need to react accordingly. Etc.
But what if it was possible to semi-automate this type of interaction? Well in fact, you can; to a point. Naturally, some of our counterparts in Japan have been giving this area of animation a lot of thought and this article will discuss how to implement one of the simpler solutions. A PMXE Plugin adds Arm IK bones so that one model can move along with another’s motion.
MMD animation: Holding one another…
PMXE Plugin adds Arm IK bones allowing one model to automatically follow another’s motion.
What you will need:
- Two MMD models.
- One of these models (or both in some scenarios) will need to be slightly modified.
- MMD.
- PMXEditor (any version can be used but this tutorial will assume that you are using ver 0.2.5.4 (EN)).
- And this plugin for the PMXEditor: 腕IK作成(腕切り&手首キャンセル)
For the purposes of this tutorial, we will only convert one model and it will also be assumed that the reader has at least basic skills with using the PMXEditor.
Installing the plugin
Download the file from Bowlroll using the link given above. Unzip the package into the _plugin/User/ sub-folder. The plugin is in Japanese but basically only requires a single click to implement the needed changes.
Modifying the model
Load your model into the PMXE and access this command:
Edit(E) > Plug-in(P) > User > ArmIKPlus and choose the first option. A pop up panel will come up, click OK and the plugin will add a couple of new bones to the model.
These bones will have a “+” sign or “IK” after the name. You should now use the Batch Name Editor to translate these bones into English to make them easier to access in MMD if you do not read Japanese.
Save the model using a new filename in the same folder as the original model.
What this edit does
In a nutshell, this edit creates IK structures for the model’s arms that work similarly to the existing leg IK structures that all MMD models have in common. But there is one major difference and this will be apparent once you load the model into MMD and try to pose the arms.
For posing and animation purposes we are only interested in two bones added to the model’s bone structure. These are located at the wrists and are the Right arm IK and Left arm IK bones respectively. Note that these labels only read in English if you translated them otherwise they will use their original Japanese labels.
When you manipulate these IK controller bones the entire arm moves; but you still have control over the bones in the original arm structure. The IK structure and the existing structure work in unison, but it may take a little getting used to before you will fully appreciate how useful this new system actually can be.
The key to the system is that an entire arm can be controlled using a single controller bone. This makes it makes it possible to do some really interesting and useful things. The intended purpose of this controller bone is that it can be attached using the OP function system, to a bone on another model.
Once this OP relationship is set, the arm is then “slaved” to the other model. Which in simple terms means that the arm will automatically follow the movements of the model to which it is attached.
Putting the new IK structure to practical use
Please note that there are a huge number of possible uses for this system but we will just use a single, simple scenario to demonstrate the system.
We will need a second model but will keep things simple and use one that is unmodified. And since I found this nice edit the other day of Miku, my only excuse it that I wanted to use it. So here are our MMD “Dancing with the Stars” team: Miku Hatsune and Honne Dell.
Coupling two MMD models
The objective of using Honne Dell’s new arm IK bones is so that is arm will move according to how Miku moves. In order to achieve this all we need to do is to attach his arm IK bones to one of Miku’s bones using the OP function.
The target bone on the Miku model could literally be any bone, but the final selection depends on what you intend to do with the motion. We will keep things very simple for demonstration purposes. Since we want to show how this system works, we will simply attach Honne Dell’s Right Arm IK bone to Miku’s head bone.
This operation will cause Honne Dell’s arm to go right through Miku’s head but cementing the relationship between the two models. So the next step is to move Honne Dell’s Right Arm IK bone accordingly so that his hands are a top of Miku’s head. Then using the other bones we finalized the pose of the hand as shown in the image below.
The Arm IK bone system in action
Once the association is made as indicated above, whenever we move Miku, Honne Dell’s arm will now correctly follow. This behavior makes it much easier to create animated sequences where one model is holding on to another model. Although we will not be doing it here, both models can have multiple associations with the other and this makes it possible to much more easily animate dance sequences such as waltzes or slow dances.
Anyway the following short demo shows this technique used in an actual animation. Do note the animation is in very rough form since it only serves to show what this system can do.
The plugin options explained
When you access the plugin in the PMXE you have three choices. These are in Japanese text but the rough translations are as follows:
- ArmIKPlusType1 (as used here in this article)
- ArmIKPlusType2 (works best with objects that are to be held)
- ArmIKPlusType2Advanced (no longer supported as a required dependency is no longer available)
Japanese MMDers have continued to do more work on this area of animation and information on these efforts are shared most commonly on NicoNico. There is also a small handful of Touhou Project characters that comes pre-rigged with a more complex form of this type of system. These models are capable of some really complex character interactions.
Credits
Tda Miku Belly Dancer – elina002
Honne Dell – zDef
MMD 9.32
PMXEditor 0.2.5.4
Arm IK plugin – t0r0
pmotskin
fullSimpleSoftShadows
o_selfOverlay_soft
autoluminous 4
cheaplens
GIMP
Inkscape
IrfanView
AviUtil
Music – Sunrise Riddim (Konrad OldMoney)
– SEE BELOW for MORE MMD TUTORIALS…
— — —
– _ — –
No new bones appear from me, even as I follow it step by step (which isn’t difficult, given that it’s a short tutorial)
I just re-read the tutorial. I downloaded the ArmIKplus plugin. I dropped it into the Plugin>user folder… I opened a model in PMXE I followed the tutorial and… I saw no bones.
I then saved the model with a new name and opened that model in MMD. The new bones are not visible but they are working. I tried to move the RightArm bone and the wrist stayed where it was… kind of freaky… so now we need to identify the bones in PMXE and give them names so that they will show in the bone chart.
–
I am not really a PMXE user… so I cannot help you with that. … Hmmm, invisible bones.
— Reggie
“No new bones appear”… but my model does have the function, so I am wondering if the original wrist bones have been replaced with the new IK bones: not new bones but replaced with the new bones. So we can use the new wrist bones as the intended IK bones we wanted.
— Reggie
The Plugin always fails to load when I open pmxe. How can I fix it??
Was curious, is there a way to make the arm ik bones move with the shoulders too? Would connecting the shoulders have any benefit or would it just ruin everything? :0
Oh yes, this looks pretty epic. Reminds me of the Wintry Winds PV where when Kaito holds Meiko’s hand and they cross the bridge together their hands are in no way physically touching, so this could really do a big improvement lol