DSHack

Archive Generated December 23rd, 2018
Tutorial - How to make a custom Kart
Author Posted on 2015/08/15
#439
tomix Hi all, since I'm capable of making this tutorial now, here it is.

In this tutorial I will show you how to make a custom kart for MKDS. For this tutorial, you will need the following:

A Modelling program that is NOT Sketchup (This is very important!)
3ds max 2011 32-bit ONLY! (Find this yourself)
DS and 3DS Hack Pack - http://store.dshack.org/index.php?/file/3-ds-and-3ds-hack-pack/
Notepad++ - Google this
Image editing software (Photoshop or Gimp are prefered)
Mario Kart DS Course Modifier 4.0
g3dctvr - http://puu.sh/jCQHL/8a8b5ea740.7z

Part 1: The Basics

Before I tell you how to make karts, I will explain how karts work in Mario Kart DS. Please do not skip this section, as it's crucial that you don't miss a small piece of information.

Here is the structure of a normal kart.

kart_MR_a < -- Model File
world_root < ---- pivot point (some models seem to use the model name, others use this)
polygon0 - Kart CPU Tire Mesh
kart_tire - material name
E_tire_M - texture name
polygon1 - Kart Body Mesh
kart_body - material name
kart_MR_a - texture name
polygon2 - Emblem
kart_emblem - material name
emblem - texture name

There are a few things here to keep in mind. The mesh names "polygon0,1,2" are not needed. Those are automatically added when exported.
The pivot point needs to be named world_root for almost everything. I have found that using the model name sometimes works, but always. So in General, use "world_root".

Right, the material names are the MOST important part of all. If you don't name these as I have shown you, the game WILL crash on hardware, as well as emblems not functioning. Material names can only be done in 3ds max and Blender, which is why Sketchup cannot be used as a modelling program for karts. Theoretically it could, but you would need to alter the materials again in blender or 3ds max.

Texture names are important, but not as important as materials. If you're doing a model to replace the Standard Kart, it's important to keep the kart_MR_a so the game knows to swap the palette. If you're replacing any other kart, this doesn't matter. Kart_body will work fine as a texture name. The only texture that needs to be named a certain way is the emblem texture. It has to be named emblem AND use the Mario icon. If the mario icon isn't used, the game might fail to replace it with another character's emblem.

For texture sizes, they shouldn't be larger than 64x64. 64x64 is even pushing the limits, so anything smaller is good. Just remember, one texture for the body, one for the emblem, and one for the tire.

Speaking of textures, if you want to compress your textures, you need to put _cmp2 at the end of your textures. This is recomended so you don't have any slowdown.

Now the most important part of all....the model. This is part takes practice to perfect, so it may take you a few tries to get this right. The DS can only render 2048 TRIANGLES on the screen at once. This is triangles, NOT FACES. A face contains two triangles. Use this image to give a better idea what I'm talking about.



A kart should have no more than 200 triangles. The smaller the better. When I create karts, I usually take the kart I'm going to replace and use that as a guide. If you don't want to export the model yourself from EFE or MKDSCM, use the models from Models-Resource. I have uploaded every kart there so you can choose each one.

Models Resource

Got all that? Good! Let's get a new kart in MKDS!

Part 2: Installing the Plugins

Download the DS and 3DS Hack Pack I listed at the top of the page.

Open DS and DSI\\3dsmax\\NNS_3dsmax2011_Plugin\\. There should be a Scripts and a plugins folder.

Now find your 3ds max 2011 install, it should be in C:\\Program Files (x86)\\Autodesk\\3ds Max 2011\\

Simply drag the scripts and plugins folder into the root 3ds max directory, and click yes when it asks to merge folders. You're all done here!

Part 3: Preparing your model

Keep in mind I will not show you how to model in this tutorial, just how to get a kart in MKDS.

THe first thing you want to do is import the model you want to replace. In my case, I'm going to replace the WildLife, so I'm going to import it first into Blender.



With it imported, I can start to model around it. You can delete the main body mesh if you want, but make sure to keep the tires, emblem and steering wheel there.

Something I recommend doing while modelling is to import a character mesh and see how it fits into the model. Just roughly place it where the steering wheel is to get an estimate.



If you're working in Blender, this is the area where the material names need to be put.



Here is what my model looks like, complete with 186 triangles.



The textures aswell:




The easiest format to use to get this in 3ds max is obj. Blender has a built in obj exporter for you to use. If you are importing with the 3ds max obj importer, make sure to have these boxes selected.



When you import the model, the alphas may make the model look screwed up in the model view. Don't worry, we can fix this by editing the materials, which we need to do anyway.



Go to the folder where all of your textures are located. In order to save on space in both the rom and memory, we need to compress the textures. Simply add "_cmp2" at the end of your texture.

Now that we have the textures set up for compression, lets make our Nitro Materials. In any of the model view windows, Press M and the Material editor should appear.

Under the materials section, locate "Nitro Standard"



If you don't see this, you didn't install the plugin properly. Refer to Part 2 on installing the plugin.

Don't add a material yet though, since our model already has some base materials to work off of. To get these to show up, go to the "Material" tab at the top window and click "Pick from object".



Now click on your model. Nodes should appear now in the window.



We need to clean this up. First off, all of the Control nodes can go away. Delete the material nodes while you're at it, but NOT the bitmaps or Multi/Sub-Object (the thing that connects all of the materials into one).

You should have something like this.



Now drag three Nitro Standard materials into the editor. Connect the dots from the Bitmap to the "Diffuse Color" on the Nitro Standard node. Then connect the Nitro materials to the group object.



Time to rename some materials. Rename the tire material to "kart_tire", body material to "kart_body", and emblem to "kart_emblem"

Here is what the finished product should look like:



If you want to see the textures in the viewport, click this button to make the material show up in the viewport.



If it doesn't appear, select the group object and press A.


Now select your model in the model viewport, and go over to the right where it says "Name and Color". Change the name of the mesh to "world_root".

You're all ready to export.

Part 4: Exporting

Select your kart and go to the NITRO-System tab. From there click NITRO Export with Settings.

Edit the Output file name to match the kart you will be exporting. Since mine was for a Daisy kart, it was named Kart_DS_b. Be sure to change the output to where your model and textures are. Make sure the other settings are the same as mine.



Once you're done, click Apply. It will export. If you need to come back to export again, you can just click Export.

If it exported correctly, you should see a .imd file in your folder.

Start up MKDS Course Modifier. Go to Tools -> Nitro Intermediate -> G3dcvtr GUI. When it asks for g3dcvtr, download the link i have at the top of this post and extract the exe and dll to the same folder as MKDS Course Modifier. Then direct MKDS CM to that exe.

Click the ... in the Input box and find your imd file.

Under options, tick emdl first, and then click Convert. DO NOT CLICK THE OUTPUT BOX.

After this, tick etex and click Convert again. You should have a nsbmd and nsbtx in your folder. Check your model with either MKDS CM or EFE.

Congrats, your kart is finished.



If you have any problems feel free to post them here.

EDIT: I realized I didn't add a section on editing the tire data, but I will add this in the next couple days/weeks when I'm free.
Author Posted on 2015/08/16
#441
Swiftie Luma Thank you soooooooooooooooooooo much for this , really!

Extremely helpful! I finally did my first custom kart !

It's not perfect but it still looks really good , and works perfect on the DS.

The Blue Circuit Special , i did this because it's the one that Rosalina uses in MK8





And this one as CPU



And here's a little video :P



Again , thank you!

I'm looking forward to do more karts , either Remakes or Unique ones! :gaga: :gaga: :3
Author Posted on 2015/08/21
#455
Swiftie Luma So i recently made a model of the biddybuggy , and ran into an issue.

After finishing everything in blender with modelling , i exported as OBJ and 3DS max gave me a ''Polygon index Error''

i don't know how to fix this , it's just a general question since i really liked the model and i don't want to feel like i just lost my time making it so the program gives me the middle finger at the end :sob: :sob: :sob:
Author Posted on 2015/08/22
#465
tomix Try doing CTRL V and remove doubles. This will remove any edge split modifiers you may have applied, so you'll have to redo that. If you are still having problems, try exporting it to obj, reimport the obj IN blender, and then export again.
Author Posted on 2015/09/05
#526
Platinatic Do the tris of the wheels also count if making the kart?
And you said to put "_cmp2" with your textures, is that done in notepad++?
Author Posted on 2015/09/05
#527
Miles Ermiiworth
Do the tris of the wheels also count if making the kart?
And you said to put "_cmp2" with your textures, is that done in notepad++?


No, he meant the texture's filename
Author Posted on 2016/03/28
#1602
Svenskig I got all of this working, except the final step. I installed that one g3somethingsomethingvr plugin and clicked analyse for both emdl and etex, but it didn't generate any files. What did I do wrong?
Author Posted on 2016/04/04
#1614
tomix Did you check the output box? If you are using MKDS Course Modifier 4.0 it will do that. Make sure to keep it unchecked.
Author Posted on 2016/04/05
#1615
Platinatic i imported a kart once and it was rotated sideways (front facing left), and most of the faces were missing.
What could've gone wrong?
Author Posted on 2016/04/07
#1640
tomix In what way were the faces missing? Could you provide a screenshot?
Author Posted on 2016/04/07
#1644
Platinatic The model in-game:

The model in Blender:

I'm pretty sure that everything is triangulated.
It has 96 tri's (with the emblem). Is that too much for in a race?
Author Posted on 2016/04/07
#1645
MKGirlism Here's your problem:


The Y Axis should point up, but in your Scene, the Z Axis is pointing up.
This can be fixed by simply rotating it, and freezing position.
Author Posted on 2016/04/07
#1646
Platinatic
Here's your problem:


The Y Axis should point up, but in your Scene, the Z Axis is pointing up.
This can be fixed by simply rotating it, and freezing position.

That doesn't fix the missing faces, right?
Author Posted on 2016/04/07
#1647
SGC Yellow You need to triangulate the model, or it will have missing faces. Did you triangulate the model?
Author Posted on 2016/04/07
#1648
MKGirlism
That doesn't fix the missing faces, right?

Perhaps not, but it'll still fix the rotation.
Author Posted on 2016/04/08
#1657
tomix
Here's your problem:


The Y Axis should point up, but in your Scene, the Z Axis is pointing up.
This can be fixed by simply rotating it, and freezing position.


No, the Z axis always up.

Post the 3ds max and blend file and i'll take a look.
Author Posted on 2016/04/09
#1658
Platinatic I'll see, because i made this a while ago and i might not be able to find it.
and yes, i triagulated the model
Author Posted on 2017/02/25
#3004
Rover I do like this tutorial. Though...Is there a tutorial where it shows you how to make a model like a kart and how to texture it?
Author Posted on 2017/03/04
#3023
SGC Yellow I fixed the Link Tag in this tutorial.
Remember to be mindful of the order you put the name of the link, and the actual link in.
Author Posted on 2017/03/12
#3029
TheNobody maybe a nooby question but, do I have to use 3ds Max? Could I use Blender?
Author Posted on 2017/03/13
#3030
MKGirlism For 3DS Max tutorials, you can check out this link.
And this link for Blender.
Author Posted on 2017/03/13
#3031
Platinatic In order to make custom karts you'll need 3DSMax or Maya.
Otherwise you'll not be able to make a fully functionable kart.

You don't need it to make custom tracks though.
But it does give you the ability to add vertex colouring and texture animations,
which is a nice extra, but not a necessity for a good Custom Track.
Author Posted on 2017/03/13
#3032
TheNobody alright, I guess I'll see if I can get it for free through Clemson University.
Author Posted on 2017/03/13
#3033
Platinatic Keep in mind that you'll need an older version!
3DSMax 2011 32-bit!
Author Posted on 2017/03/13
#3034
TheNobody oh.That is going to be a problem because Clemson only has the latest updates...
I guess I'll be making custom textures and tracks.
Author Posted on 2017/03/31
#3058
Rover Okay. Everything is going great. All there is is Mario doesn't sit right in the kart. I'm using the cucumber model to replace the b Dasher. I can show a screenshot if that's needed
Author Posted on 2017/04/02
#3059
Kitty Remilya Ambiance To fix character and tire placement problems, you can edit the kartoffsetdata.bin files.
Author Posted on 2017/04/02
#3060
Rover Okay. And how do I do that?
Author Posted on 2017/04/02
#3061
Kitty Remilya Ambiance You can use HxD Hex Editor, or use szymbar15's app named "TooLazyToKeepDoingItByHand" (without quotes) which has a GUI.
Author Posted on 2017/04/02
#3062
Rover You are a life saver.
Author Posted on 2018/04/18
#3811
User 666 I got it to work until the last step. I open G3dcvtr GUI in MKDS Course Modifier and input my imd file. But, when I tick emdl and export, the program says "Cannot start process because a file name has not been provided".
Author Posted on 2018/06/24
#3971
knms360 Can you do it other than "3ds max 2011 32-bit only"?
Author Posted on 2018/06/24
#3973
Kitty Remilya Ambiance You can do it with any 32-bit version of 3DS Max or Maya, that supports the NITRO plugins. (maximum version is 2011, later versions don't work I think)
Author Posted on 2018/06/24
#3974
knms360 ok
thanks.
Author Posted on 2018/06/26
#3975
knms360 In the latest version of Photoshop, NNS Plugin did not work