How to Create Fully Custom Characters with Autodesk Maya 2011#

To preface: if you do not have Maya 2011 then this tutorial is not for you. If you already have it, great. I ask that you don't ask in the MKDS modding server for a download to this program, because you'll just make people mad. You will have to find it at your own risk, like I and many others have.
You'll need to have basic knowledge of how to model in Blender for this tutorial.
Now that the disclaimers are out of the way... On to the tutorial!

1. The Workflow#

Firstly, you'll want to use an existing character as a base for scaling purposes. I recommend using Apicula and then converting the Mario model to DAE (The P_MR model can be found in data/KartModelMenu/character/mario folder).

Once you've done that, import it into Blender.

Now, generally speaking, only the bottom portion of the character has to be around the same size as Mario's bottom portion, since your character will need to fit in all of the karts (at least to an extent).

The model should be entirely triangulated, unless you are sure where you are using quads will never bend. Otherwise they will likely disappear when bending.

Usually, you'll want to model your character's hands in a "T" position, as seen here:


You'll want to create two materials for the character model: P_body, and P_face. P_body will never change, however P_face has two different images it can switch dynamically between, one for a normal face and one for a loss/hit expression.

The face textures will need to have the exact file names: "P_face.1", and "P_face.2". 1 is the normal expression, while the second is the hurt expression.

Each texture should be no more than 64x64 in size to not bloat VRAM.

Note: You do not need to have two face expressions, however it adds to the realism of your character.

After you make the model itself, I highly recommend you save that and then save the same blender project under a new name, something like "armature".
Then, you'll want to rig the model you've just made. Generally speaking, you should always have a root bone (that never bends anything, it should only control the character's base position), a torso bone that allows for its mid-body to bend, arm bones (most of the time two will suffice) and finally a single head-bone.


If you don't know how to rig, check out this tutorial on Blender's help page.

Once you have properly rigged the character and it has proper vertex weights for the bones, you should once again save the armature project and save another new project, this one can be called something like "drive".

Set the timeline to 0 - 24. You can use more, just make sure there is a median number between the first and last number.

Next, you will probably want to create three keyframes: one on zero, with your character turning rightmost, one on the middle keypoint (in our case, 12), with the character in an upright position and not turning either way, and finally one on 24, where the character will be turning leftmost. I recommend importing a kart model as well to give your character a reference point for what to grip to.

To set keyframes in Blender, go to the keypoint you want to set a frame on, then position your character accordingly. Then, press A to select ALL bones, then press I, finally press "Rotation". This will create a keypoint on the timeline. To delete a keyframe, select the keyframe's position on the timeline, then press Alt+I. It will prompt you to delete it.

This is what your drive animation can ideally look like:


Once you are happy with your animation, it's time to export. Export as FBX, set the scale to 0.01 as usual, and then open up Maya.

Also: For all other animations, this process can be repeated, starting with saving the armature project to a new one. You'll need: a win animation, a spin animation, and finally a loss animation. All of these should preferably loop nicely.

2. Maya and Exporting#

Now, once Maya has loaded, go to File, then import, and navigate to your FBX file.
Once imported, you can press the play button on the timeline to see it in action.
You will want to set Maya's timeline to the same as it was in Blender.

Next, go to Window, then Rendering Editors, then finally click "Hypershade".

Select the P_face material, then look to the right in the Attributes area.

Select the rightmost tab. You should see something like this:


Select "Use Image Sequence".

Then, with the P_face material still selected in Hypershade, go up to the NITRO-System tab in the top right and click "Set Frame Extension List".

Type in "1 - 2".


Press "Close". Now, your character's face will be animated ingame.

Close Hypershade.

Now, go to the NITRO-System tab in the top right, then click "Export with Settings".

Your settings should look something like this:


It is recommended you use Start / End Frame set to "Range" with the first box set to 0 and the last set to the last frame of your current animation to prevent oddities from occuring.

Once you've set the output location to somewhere appropriate, click "Export".

It should produce two files of the same name: an IMD file, and an ICA file.

Use the 3DMaterialEditor program in the SDK to set the material's texture mirroring accordingly, if necessary.

From there you'll need to convert the IMD and ICA with G3dcvtr, and they will produce binary model, texture, and character animation files (NSBMD, NSBTX, and NSBCA).

After that, replace these with an existing character's files (like Mario).

(If you want to test your model now, you can just replace the drive anim with all four of the animation files).

3. Toolbox#

You may need to reposition the character model in Mario Kart Toolbox in order to produce better results, if the character doesn't already grip the steering wheel.

4. Closing#

If you have followed the steps correctly, your character should be in-game and ready to go now. Good luck.

Tutorial made by NinjaboySC

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 08-Jun-2022 23:25 by DylanzuDS