Quick tutorial on Bone Animations using MilkShape 3D

NOTE: This tutorial should work for versions 1.5.10 and later

After you open MS3D, click on the MODEL tab and select the options shown on the right.

Make a cylinder of 3 stacks and as many slices as you like. 

I used the default 12.

Now you should have a cylinder in the view areas.
The next step is to make sure JOINTS are visible, so you can see the joints you create.

Select the JOINT tab and make sure the SHOW SKELETON is checked.

Now, to draw the bones.

Click on the MODEL tab and select JOINT

Start at the base of the cylinder and Left Click to put a joint.

The circle with the + in it is the joint, the triangles connecting them are the bones.

Try to keep the joints in the middle of the cylinder. (You can move them later if not to your liking)

Left click on the start of each set of vertices going up the cylinder so that there is a bone for each section. (See image on the right)

NOTE: Bones will automatically be drawn in-between the joints.

Now that you have all the joint/bones in place, it's time to assign the parts of the model to the joints.

Click on the MODEL tab to get the correct settings to select the vertices.

 
After you have your SELECTION settings, click on the JOINT tab again.

Click on JOINT1. (You can rename if you like)

You should have the bottom one selected in RED

NOTE: The rest of the connected joints/bones change color, cause they are connected to the selected joint.

Now, select the bottom vertices.

This will look like it de-selects the JOINT, but it does not.

As long as it is highlighted in the JOINT list, it is selected.

NOTE: You can select vertices from different objects and assign them to one joint. Just select the vertices that you want to move with that joint.

(e.g. If you made 3 cylinders and stacked them end-to-end instead of one cylinder that has three sections.)

Click on ASSIGN.

Now, any time that joint is moved/rotated, the vertices assigned to it will move/rotate with it.

Do the same thing for the rest of the joints, moving up the cylinder. Select only the vertices that are at the same height with the joint.

NOTE: There are two ways you can do this. I usually leave no vertices attached to the last joint. (Joint4) I attach the top two sets of vertices to Joint3, but it makes no difference.

After all JOINTS have vertices ASSIGNED to them, click on the MODEL tab again.

Select ROTATE and check ORIGIN.

This will make the joint rotate from the end and not the middle of the bone.

Click on the ANIM button in the lower right of the screen.
Click on the JOINT tab again.

While the slider at the bottom is on FRAME ONE, press CTRL-K to set the initial KEYFRAME.

(If you don't see the keyframe slider, click on the WINDOW menu and choose SHOW KEYFRAMER)

Next, move the slider out a few frames. I usually use 25 total frames and move the slider 5 at a time.

(e.g. Set keyframes at 1,5,10,15,20,and 25. The rest of the frames will be filled in by interpolation.)

Select a joint to rotate in the list and use the 2D views to rotate a joint to move the object. If you don't see the cylinder move, you forgot to click on the ANIM button.

After you have the object to a position you want, press CTRL-K again to set the KEYFRAME.

NOTE: If you don't set a KEYFRAME and move the slider, you will have to rotate the joints again. Think of keyframes as a SAVE position in the total animation.

Do this for the rest of the keyframes 10,15,20.

Remember the order:

  • Set KEYFRAME by CTRL-K
  • Move the slider.
  • Rotate the joints.

If you want your object to start and end the animation in the same position, here's an easy way to do it.

Set the slider on the first frame.

Click on the ANIMATE menu and select COPY KEYFRAMES

Move the slider to the last frame

Click on the ANIMATE menu and choose PASTE KEYFRAMES

Press CTRL-K to set the KEYFRAME

This will make it so that if you are doing a swinging type of animation that the character ends in the same position it started. There are prolly other uses too.

After you are done setting all the KEYFRAMES, loop your animation by click on the button with the single > on it.

This will loop the animation in whatever view is selected. I usually click on the 3D view first.

Now, on to exporting.

Click on the FILE menu.

Choose EXPORT.

Select DirectX (JT)...

THIS EXPORT FOR DB V1

When the box pops up, choose a directory and name for your object. You can either put the .X on or it will for you.

After you click SAVE, the OPTIONS will pop up.

FOR DBV1, set the options as shown on the right.

NOTE: The BINARY option makes the file size smaller, but causes no visual change from what I can tell. 

NOTE: Joints on the model in DB will break apart, as if it were separate cylinders with only the very top and bottom closed. They middle part will show as a hollow tube in DB.

 

THIS EXPORT IS FOR DBPRO (MESH DEFORM)

When the box pops up, choose a directory and name for your object. You can either put the .X on or it will for you.

After you click SAVE, the OPTIONS will pop up.

To have the animation do MESH DEFORM in DBPro, use the settings shown on the right.

NOTE: The BINARY option makes the file size smaller, but causes no visual change from what I can tell.

I hope this tutorial is usefull and easy enough to understand. It took me a week to figure out how to export my models correctly so that they animate in DB. I have tested MS3D models in BOTH DB and DBPro.

-Kensupen