0% found this document useful (0 votes)
169 views35 pages

MMD to DIVA PSP Motion Porting Guide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
169 views35 pages

MMD to DIVA PSP Motion Porting Guide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

How to port MMD motions to PjD

2nd/Extend
In this tutorial we will see how to port MMD motions to DIVA PSP games, it should be clarified
that the process is very long and a bit complicated, so remember to be patient and do not
despair if the port doesn't work out completely, the method of porting motions is still
experimental, so it’s normal for motions to be broken, so I recommend you to start with a
simple motion, at least in your first ports to make it less complicated

​What is needed to port motions?


First of all, you will need a 3D modeling and animation program called Blender, you can
download it from the following link: https://www.blender.org/download/
(You can also find it on Steam, this version updates automatically so I recommend it if you
don't want to have to download every new update that comes out).
You also need a Blender addon called “mmd_tools”, this will allow us to import and export
MMD models, animations and poses, here is the link:
https://github.com/UuuNyaa/blender_mmd_tools/releases
Another thing you will need is Autodesk MotionBuilder 2010, a program that will allow us to do
retargeting (in other words, transfer the MMD animation to a DIVA PSP model so it won't look
bad in the game). Here is the link:
https://archive.org/details/Autodesk_MotionBuilder_2010_727B1-05A001-P301A_Autodesk_I
nc._2009
We will also need to crack the program, for that we will have to download the following .dlls
from the following link:
https://www.mediafire.com/file/ou3u23jw04pwwn9/MotionBuilder_2010_dlls.rar/file
(You will have to copy and paste these .dlls into the MotionBuilder 2010\bin\win32 folder)

​ emember to install the 32-bit version of MotionBuilder since these .dlls


R
work only to crack that version (or at least I think so xD)
We will also need Noesis, a program that allows importing and exporting to different types of
formats: https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91
And finally you will obviously need Alchemy and 3ds Max 2010 (with the Alchemy exporter
installed).

​ atch the tutorial “How to install the Alchemy exporter in 3ds Max 2010” if
W
you need help installing the exporter.
Once you have everything you need, it's time to start the tutorial:

​1. Import the model and motion in Blender with mmd_tools


First of all we will have to open Blender and import a model along with the motion that we
want to port. I recommend using a MMD model edited by me, here is the download link:
https://www.mediafire.com/file/v1hish4ivtd6xje/Miku_PSP_MMD_for_retargeting.zip/file
(Remember that this model may not work well with all MMD motions but it works for most of
them, in case it doesn't work for you, I recommend you to edit this model and add the missing
bones to make your motions work).
As for the motion that we will import, as I said before, I would recommend starting with a
simple motion. Since the motion may cause the game to crash by having a large number of
keyframes.

And just in case you don't know how to install mmd_tools I will explain it quickly:

​How to install mmd_tools in Blender


First of all, once you have opened Blender you must go to Edit → Preferences...

From there a window will open, and you should look for the "Add-ons" category on the left
side of the window.
Once there, click on the "Install..." button and look for the compressed file that you
downloaded, and click on "Install Add-on".

Once installed click on the box next to the add-on name to activate it.

Now, it’s time to import the model and the motion:


To do this we must go to File → Import → MikuMikuDance Model (.pmd, .pmx)
Once that's done, it's time to browse and import the model, I recommend using the following
settings before importing:

Now simply click on “Import Model File” or double click on the .pmx file.
Once the model is imported, it's time to import the motion. For that you should go to File →
Import → MikuMikuDance Motion (.vmd). Just in case I recommend selecting the MMD model
bones before importing the motion

The configuration that I recommend you to use is the following:

​A little advice if you plan to change the scale factor (Scale): Remember that it
has to be the same for both the model and the motion, if the model has the
0.01 scale option, the motion must also be 0.01, so that the motion looks good
with the model.
Once the motion is chosen, click on the "Import VMD File" button and wait for it to load, the
process can take a couple of seconds or minutes (depending on the motion) so please be
patient if it takes a while.
Once the motion is loaded, you can press the play button or simply press the Space key to
see how the animation looks.

​2. Change the bones names of the MMD model


Now, next is to change the bones names of the model to others, so it will be much easier to
identify them when retargeting in MotionBuilder.
To do this, we must go to the options that are on the right side, specifically to one called
"MMD" and then to the option called "Global Translation Popup".

Then, once a window opens, we must select the "Blender_Name (name)" column, then
choose the preset "Copy English MMD Names, if empty copy Japanese MMD Name" and
click the "Execute" button and then click "OK".
I​n case you are wondering, we basically changed the names of
the Blender bones to the names in English registered in the MMD
model, this, as I said before, will help us to recognize the names
more easily when doing the retargeting.
Once this is done, we must continue with the next step:

​3. Export the model and motion to .fbx


Now we must export our project to .fbx, a format belonging to Autodesk which is most used to
export models and animations.
To do this we must go to File → Export → FBX (.fbx)
The configuration that I recommend when exporting is the default one, except with a few
changes:
● In the “Armature” section remove the “Add Leaf Bones” option.
● In the “Bake Animation” section, disable the “Force Start/End Keying” option.

​ ust in case, before exporting, remember to put the animation at keyframe


J
0, which is where the model is in its default pose. This is not obligatory but
I recommend it so errors do not come up when exporting to .fbx.
Once we have configured, we must choose the place where we will save the .fbx and then
click on the "Export FBX" button.

​4. Convert the .fbx to be compatible with MotionBuilder/3ds Max


2010 using Noesis
Since newer versions of Blender don't allow exporting to a MotionBuilder 2010 compatible
.fbx, we'll have to do it ourselves using Noesis.
To do this, first of all we will have to open Noesis, look for the .fbx and open it with the
program.
Once that is done, we right click on the file and click on “Export”.

From there, a window will open in which we will have to configure this:
● In “Destination file(s)” you will have to choose the place where export the .fbx file
by clicking on the “Browse” button.
● In “Main output type” you will have to put “.fbx – Autodesk FBX”.
● And finally, in “Advanced options” you have two options: Either write
“-fbxoldexport” or “-fbxascii”, both options work, the difference is the size in bytes
of the exported file.

Once everything is configured, we click on the "Export" button and wait for the file to be
exported.

​4.1. Export a DIVA PSP model to use as base for retargeting in


MotionBuilder 2010 with Noesis.
This is an extra step if you want to learn how to export a DIVA PSP model to .fbx to use as a
base for retargeting from MMD to DIVA 2nd/Extend.
In case you prefer to use a base already exported to .fbx, here is one:
https://www.mediafire.com/file/gs1zcmby8rpsmql/Miku_psp_base_model.rar/file

Otherwise, I'll explain it quickly:


First of all, we must open Noesis and look for the .igb file of the model we want to export (in
order to open .igb files with Noesis, we must download minmode’s script:
https://www.deviantart.com/minmode/art/Update-1-2-Project-Diva-igb-Noesis-Script-7527346
41)
Once selected, right click and go to the "Export" option, and once the window opens select
where to save the file (by clicking the "Browse" button), select save it as .fbx (In "Main output
type”) and write in “Advanced options”: “-fbxoldexport” or “-fbxascii” and then simply click on
the “Export” button.
Now that we have the two .fbx files needed for retargeting, it's time to open MotionBuilder
2010.

​5. Import a .fbx file in MotionBuilder 2010


​ o do this we must go to File → FBX Plug-in Import…, look for our .fbx and click on the
T
“Open” button to import it.

Just in case I always recommend importing the PSP base first and then the .fbx with the MMD
model and the motion, but in theory you can import the .fbx in any order you like.

Remember to have “Noesis Frames” activated when importing the .fbx with the motion, since
it is basically the animation of the .fbx.
​6. Create "Characters" for retargeting.
The "Characters" will allow us to retarget quickly and easily, for that we must first create them.
First of all we have to go to the “Asset Browser” window, which is open by default every time
we open MotionBuilder (in case we have closed it by accident, go to Window → Asset
Browser to open it again), Once there, different folders will appear on the left side of the
window, we must go to Templates → Characters and look for the icon that has “Character”
written below.

Once we have found it, we must drag and hold it towards the “Viewer” window and then click
on “Characterize”.

In case you get the following message, simply click on “Close”.

They will have to do this process twice in order to create two Characters, one for the PSP
base and another for the MMD motion.
​7. Assign bones to Characters
Once we have created the two Characters, it is time to assign the bones of each one, for this
we must first go to the "Navigator" window, go down and look for the "Characters" category
and double click on one of the two Characters that we have created. and then go to the
“Character Definition” option.

Now we must add the PSP bones to a Character and the MMD bones to another Character.
How can we do this? Well, it's simple, first we must select a Character by double-clicking,
then we search inside the "Scene" category the corresponding bone and drag it accordingly
inside the "Character Definition" option.

The bones of the PSP base start from the bone called “root”.
The MMD bones start from the “root_1” bone and are found inside “Hatsune Miku NEW new
Facials psp xd”.

The bones must go like this inside Character Definition:

Nombre MotionBuilder Bone/Hueso PSP Bone/Hueso MMD


Hips root root_1
LeftUpLeg L_upleg L_upleg_1
LeftLeg L_knee L_knee_1
LeftFoot L_foot L_foot_1
RightUpLeg R_upleg R_upleg_1
RightLeg R_knee R_knee_1
RightFoot R_foot R_foot_1
Spine hip hip_1
LeftArm L_shouler L_shouler_1
LeftForeArm L_ellbow L_ellbow_1
LeftHand L_hand L_hand_1
RightArm R_shouler R_shouler_1
RightForeArm R_ellbow R_ellbow_1
RightHand R_hand R_hand_1
Head head head_1
Spine1 spine00 spine00_1
Spine2 spine01 spine01_1
LeftArmRoll L_collar L_collar_1
RightArmRoll R_collar R_collar_1
Neck neck neck_1

​Something like this should look like this part of one of the Characters.
Once we have finished adding all the bones we must click on “Characterize”.
Most likely, after this a message will appear:
Here you must click on “Biped”.

And here you must click on “Ignore all”.

(We must do this process with both Characters).


​ lso from now on I will call the Character of the base of PSP: "Character
A
1" and the one of the motion of MMD: "Character 2".

​8. Retarget
​ ow we must select “Character 1” and go to the “Character Controls” window, then we go to
N
Edit → Input → Character 2. This will make our PSP base take the MMD motion as a
reference and move in a similar way based on it

Then you will have to click on “Character In” to activate it.


Now if you click the play animation button both models should move in a similar way.

​(The arms will probably look weird/broken, but don't worry, that's normal.)

​9. Bake the animation


​For that we will have to go to Edit → Plot Character…

After this, a window will appear with a message:

Here you must click on “Skeleton”.


And here you must click on "Plot" without changing any of the configuration.

Now you will have to wait a while for the animation to finish baking, the process usually takes
only a couple of seconds.

​10. Rotate the animation


Because the animation must be rotated to -90 degrees to look good in the game, we will have
to do it from MotionBuilder. It is a little complicated process but I hope you can understand my
explanation.
First you must go inside the “Navigator” window to the “Story” option.

We can also get to the option from Window → Story.


Now you should right click on the timeline and go to Insert → Character Animation Track.

Then, once inserted, we must change the “Character” option from “<none>” to “Character 1”.

Then we will have to right click on the timeline again but this time we will click on “Insert
Current Take”.
Now we must activate the option "Show / Hide Ghost"

Before continuing with the next step, I recommend selecting the "root" bone of the PSP base,
this can be done by going to the "Navigator" option, and then looking for the bone in Scene
and clicking on it.

Once that is done, we must return to the "Story" option and with selecting the Character Track
of "Character 1" we rotate the animation so that the model is facing up.
We can do this with the following method:
First we select the Character Track of “Character 1” by clicking on a part of the timeline more
specifically on the one marked in the following image:

Then, we will have to go to the "Viewer" window and look for the "Rotate" option

Once the option is selected, we will have to manually rotate the animation to -90 degrees so
that it faces up, remember that when rotating the Y axis it must be as close to 0 as possible.

Once this is done we will have to bake the animation again:

​11. Bake the rotated animation


We do this by right clicking on the timeline and going to the option “Plot Whole Scene To
Current Take…”.
Once this is done, a window will open and like we did it the first time we should not modify the
configuration, we just have to click on the "Plot" button.

This Baking unlike the first time, may take a little longer.
​12. Export the .fbx file for 3ds Max 2010
Once we have finished it’s time to export, to do this we must go to the "Navigator" option, then
look for the "root" bone that we selected when we rotated the animation, right click on it and
go to the "Select Branches" option, with this the entire hierarchy of the “root” bone will be
selected.

Once the bones have been selected, we must export the animation by going to File →
Export…
Now we must save the .fbx file.
After saving, this window will appear, remember to choose in the "Content" option: "Selected
Models Only" and select in "Export" only the "Noesis Frames" take.

Now we simply click on “Export” and wait for the .fbx to be saved.

(We can also save our MotionBuilder project by going to File → Save As…, it is
recommended that you always save your projects just in case you need them).
​13. Import the animation in 3ds Max 2010
Once we have saved our .fbx file it's time to import it, to do that we will have to go to the
"Import" option of 3ds Max 2010.

Then we will have to look for our .fbx file and click on the "Open" button.
Once this is done, a window will open with several options, in this you should put the following
options:
● In “Animation Take” remember to put “Noesis Frames”.
● Activate the options “Fill Timeline” and “Bake Animation Layers”.
● And finally in “File units converted to:” put “Centimeters”.
After that you must click the "OK" button and wait for the file to be imported.

Once our .fbx file has been imported, it's time for the next step:

​14. Create a bone group


We must do this to make the .igb with a structure similar to one in the game so it doesn't
crash when importing it.
To create our group we must first select all the bones, we can do this simply by dragging the
mouse over the bones in the scene or you can also go to Edit → Select All…
After that we must go to Group → Group to create our group.
Once this is done we must give the group a name, I recommend leaving the default name, but
there is no problem if you decide to give it another name.

Once the name is decided, click on the “OK” button.


Now we must go to "Modifier List" and add the modifier called "Skin".

Once added, we go down to where it says "Bones:" and click on the "Add" button.

Then, when the window opens, we click on the name of our group and click on the "Select"
button.
Now we have to fix a few things with the motion:

​15. Move the “root” bone so that the animation does not go
through the ground
A common problem that can happen is that the animation goes through the ground, due to a
problem with the root bone just like in this image:

This can be fixed very easily:


First, we must select our group and go to Group → Open, this will help us to select the bones
individually instead of as a single group.
Now we will have to select the “root” bone, then we will have to go to “Hierarchy” and click on
the “Don’t Affect Children” button.

With the button pressed we will have to move the “root” bone up, making it approximately 7.5
on the Y axis. The bone has to be above the head bone, something like this:

Once this is done, we have to press the "Don't Affect Children" button again to deactivate the
option.

​16. Remove the first keyframe from animation


As you will have seen, our animation in the first keyframe do the default pose of the models
and then in the second keyframe starts with the animation. What we need to do now is
remove or rather skip that first keyframe.
To do it, we must first go to the “Time Configuration” option that is in the lower right part of the
program interface

Once we click on the option and the configuration window appears, we must go to the
"Animation" section and change "Start Time:" from "0" to "1" and click "OK".

This will cause the export to skip the first animation keyframe and start directly at the second
keyframe.

Now, it’s time to export the motion:

​17. Export motion with Alchemy exporter


For this we have to open the Alchemy exporter (as I said at the beginning of the tutorial I
recommend you read the tutorial "How to install the Alchemy exporter in 3ds Max 2010" in
case you need help with that), once opened you must use the following configuration.
Once we have finished configuring, you simply have to click on the "Export" button, choose
where to save the .igb, press "Save" and wait for the file to finish exporting.

Although we still have something to do before creating our DLC:

​18. Combine the motion with a base from the game


This step will depend on what you want to do: A Custom Motion for the Edit Mode or for a
Custom Song, in my case I will make a motion for the Edit Mode since it is a bit easier,
although don't worry that the process don't change a lot, it just changes the base with we are
going to combine our motion that we have just exported.
First you need a base that we are going to combine it with the motion, here is the link to
download: https://www.mediafire.com/file/kkj39fypfx8dw9k/Custom_Motion_Files.rar/file
Also inside the zip file there is a base for Custom Motions and head motions (for both Custom
Motions and Custom Songs).
Now, let's explain how the motions are combined (I also explain this in the tutorial "Interesting
things that can be done with Alchemy Finalizer"):
First of all, we will have to open our exported motion in Alchemy, then we have to add the
optimizer called “Combine Animation Databases” and right click on it, go to “Configure” and in
“Context File List:” we copy and paste the path from the file located in Custom Motion
Files\Combine\For Custom Motion inside the zip file you downloaded.

​ emember that the file path must be complete, it must be something like
R
“D:\Maya-3ds\Custom Motion Files\Combine\For Custom
Motion\song01_anim_body.igb”

Once this is done, we click "OK" and then "Run Optimization", after that we simply save the
.igb file.

Then finally we have to create the DLC:


​19. Create the Custom DLC Motion
​ ou can also read the tutorial "How to create Custom DLC Songs (easy
Y
way)" in case you have any questions.
First of all you will need the "CPK File Builder" program, here is the link in case you have not
downloaded it yet: http://www.mediafire.com/file/0k9fsm1z3zih4wd/CPK_Builder.zip/file
Once downloaded, open the program, and go to Edit → Add Files..., once the window opens,
click on "Select Local Files..." and first select the files found in Custom Motion Files\Base for
Custom Motion, then our Custom Motion, and finally the files found in Custom Motion
Files\Head_motion\For Custom Motion.

Once all the files have been imported, press the "Add Files" button.
Once this is done, you will have to press the "Build CPK" button and configure as follows:

● In "CPK File Path" we must press the button with the three points and select where we
will save the DLC, remember that the DLC must be in .EDAT format, the name of the
DLC and the numbers of the 00_attest file must match and finally Being a Custom
Motion it must be in the “I” folder.
● In “File Mode (M):” you must put “ID + Filename”
● In "Data Alignment" I recommend putting "1,024" although in theory any number works.
● And in “File Layout (L)” you can put any of the four options.

And with this we will have our Custom Motion finished!


We should only import into the game and in theory it should look good without problems.

Thank you very much for reading, I hope it helps you with any future projects! :)

Tutorial escrito por: Hachune/Laluly


Twitter: https://twitter.com/_Laluly_10
Translation ESP-ENG by: Yukinee / Yukinee_V0
Social Media: Twitter YouTube

Any errors with the translation please report it, this will help us
to make a translation that can be understood without any
complications!

You might also like