Modeling with 3D Editor
This page is a part of the Custom Track Tutorial. Back to the main tutorial page.
Choosing your 3D tool
Many Custom Track Creators use various tools to create their course models. It is best to know which tool to use before you get started. If you've never used any 3D modeling tools before, it is recommended to start with SketchUp, a free and easy to learn modeling program. If you are familiar with 3D modeling, it is recommended to use a more professional software such as Blender, which is also free to use. Refer to this page to find more 3D modeling software that may interest you.
First-time SketchUp users should complete the New Users Video Tutorials before proceeding; explaining the basic terms and techniques covered by the tutorials is beyond the scope of this article.
SketchUp users will need to download this OBJ Exporter. The OBJ Exporter included with SketchUp Pro is not compatible.
This guide is written for SketchUp users, but most of this information applies to creating models in other programs.
Creating Your Track
It's important to choose a good scale for your track, preferably before you start on your model. Using Metric measurements is highly recommended. As a rule of thumb, your roads should be between 4000 and 2000 meters across when measured in SketchUp. Please see the Scale article for more important information.
Suggestions and Guidelines
- In Mario Kart Wii, by default, only the front (white) faces of models are rendered, back (blue) faces can't be seen (or touched); this means you have to make all parts that you want to see (or touch) with white faces. If they aren't white, right-click the surfaces and click Reverse Faces.
- It is recommended to turn on the Large Tool Set option in Sketchup to have more tools to work with. This can be done by clicking View → Toolbars and checking Large Tool Set.
- As you are drawing Lines or Shapes, you can type in the lengths and or widths and press enter to get an exact measurement.
- After you add textures you can't easily tell which is a white or blue face, so click View → Face Style → Monochrome on the main menu to view the model without textures. Click View → Face Style → Shaded with Textures to view the model with textures again.
- A surface is visible from only one side. To make it visible from all angles, you have to add depth. For example, a square is a flat, 2D surface; to make it visible from all sides, you will need to make it a cube, with a top, a bottom, and four sides. See the image to the right for a visual example of a track with rails made with and without depth.
- Any part of your track that is driveable must be above the red and green axis (y=0) in SketchUp. Mario Kart Wii enforces a fall boundary below y=0 even. If you were to build a road on or below these axes, you will respawn (be picked up by Lakitu) over and over again.
- Lines in SketchUp will be ignored in Mario Kart Wii; only faces appear. This includes lines drawn on top of a surface.
- Boost pads can be easily made by drawing flat shapes on your track and applying a different texture to the shapes. Frames can be added to boost panels by using the Offset tool.
- Try to optimize model geometry, this can be done by removing excess faces, using lower resolution textures and simplifying models that are further away from gameplay. If your design has a high mesh count you could encounter Slow Motion Bug. Note that MDL0 and KCL files have a vertex limit of 65535 so do not exceed this when modelling your track.
- There are two options for creating trick ramps: you can model it in your level or you can place an object like (the small trick ramp in Mario Circuit and Moo Moo Meadows) after importing. To make your own, draw a triangle with a back between 200 and 500m vertically, and 1000 to 2000m from the back to front. Use the pull tool to create the width. The width can be as much as the width of the entire road, or as little as 1000m. On your collision model, draw a line on the drivable surface dividing the bottom 25-35% from the top. The upper part will have a fast trick surface, the bottom will have a sticky road.
- As a rule of thumb, jumps from trick ramps across gaps should be about 5000m to allow jumping without doing a trick in 50CC mode. This assumes that both platforms are the same height. The angle of the surface on the trick ramp will influence the distance karts travel.
- You can create half/quarter pipe ramps by modeling the half or quarter pipe and adding a rectangle at the top, to be the part that's usually a blue arrow in Nintendo's tracks. The behaviour of these ramps is adjusted in the KCL file and will be discussed further on.
- See the Model Database for a list of props like buildings, signs, and trees that can be immediately added to your level. Additionally, many other SketchUp components can be found on the 3D Warehouse, but may require rescaling and editing to work properly in your course.
Texturing And Optimizing Your Model
- To texture your model you can use the File → Import menu to import your own textures or use textures from SketchUp's built-in library. Many of SketchUp's textures are in very low resolutions or have non-standard dimensions so it is recommended to import your own. SketchUp can work with non-standard texture sizes, but these textures will appear glitchy in-game, so be sure that the dimensions of your textures are in powers of 2 (64*128, 16*16, 256*512, etc.) If you're interested in using some of the original textures from the game, they can be exported from an SZS.
- Textures can be positioned by right-clicking any surface (Texture → Position) and using the four pins: red for moving, green for scaling and rotating, blue and yellow for distorting. Red and green pins can be used easily, while blue and yellow pins can create some problems: OBJ Exporter can't export a texture too distorted, so it will create a new texture with the distorted part of the original texture. To avoid this problem, all four pins must be perpendicular and distortions can be done only in vertical or horizontal with the blue pin. However, to avoid creation of new textures, the quadrilateral in which the original texture is contained must be a parallelogram, because a not specified quadrilateral forces creation of new textures; you can ease this operation working with blue and yellow pin together, placed on vertices of the original quadrilateral, and aligning them in parallel with the other two pins.
- Moiré patterns can occur when textures are under scaled, especially realistic textures. Many of SketchUp's built-in textures will exhibit this effect both in-game and while modeling, which is another reason to avoid them.
- You can easily scale all instances of a texture in your level: open the Materials Browser (Windows → Materials), click on the house icon to show textures that are in use, click on a material, then click on the edit tab. The dimensions of the texture can be altered there.
- Do not use solid colors unless they are an actual image file; they will all be assigned a black texture when exported, and appear black in-game. You can check if you are using an image file or not in the edit tab of the Materials Browser. The Use texture image box will not be checked when using solid colors.
- To fix surfaces that flicker between two different textures (also known as z-fighting,) right click several adjacent surfaces and use the 'Intersect Faces' command. If one of the surfaces is part of a component, you will need to explode it (also found on the right click menu.) Some surfaces can flicker in-game when viewed from a distance, especially when viewing replay cameras, but look fine up-close. This happens when one surface is partially rendered behind another nearby surface. This can often be fixed by deleting unseen (but still rendered) faces in your model. You can right-click any face and click erase. To help find these faces, you can press K in SketchUp to toggle on Back Edges view or choose Face Style → X-ray from the View menu. These unseen faces can also create collision problems, so be sure to delete them.
- You will usually need to make a separate collision model. This is a slightly simplified version of your level.
- The OBJ file format does not support many of SketchUp's features such as camera animation, fog, shadows, and "photo" textures. These will not show up within Mario Kart Wii as they are controlled differently in-game.
UV Mapping With ThruPaint
This is a short and easy way for SketchUp users to be able to UV map surfaces without seems or cuts. This plugin allows for clean, smooth and more accurate UV mapping rather than using the pinning method above, which can lead to messy and UV mapping that does not tile correctly. With this tool you are able to tile, stretch, and scale a texture along a mesh however you want the texture to be wrapped. Make sure that the surface(s) are created using Curviloft; this is necessary as some surfaces that are made without Curviloft will not be mapped properly, it is not known why this occurs.
For this method of UV mapping, you will need the following tools as listed below:
- Fredo Tools (Contains Thrupaint).
- LibFredo6 (Installer for FredoTools)
- SketchUV (For triangulation).
- Curviloft (Required for ThruPaint).
Make sure you have SketchUp that is above SketchUp 2013 since some of these plugins may not work on older versions.
Once you have installed these plugins, watch the videos below as a short tutorial on how to UV map with ThruPaint.
- The first video showcases how to use the tiling tool to be able to get seamless UV mapping when texturing different surfaces and joining them together.
- The second video showcases how to use the stretch and scale tool to be able to get the desired width, length and height of a texture on a surface. Instead, this method uses sliders instead of inputing values to tile a texture along a surface which can lead to having your surface mapped to a certain position instead of being tiled perfectly.
After you have mapped the surface to how you want, it is crucial that you make sure to triangulate the entire surface with the triangulation plugin which is given in the ZIP file above.
This ensures that there aren't any duplicated materials after OBJ exporting the model. This happens due the the textures being stretched in such a way that it gives itself its own image, and therefore appears as a duplicated material after OBJ exporting. Triangulating the surface (for the most part) fixes the duplicated materials, so it is necessary that you triangulate after UV mapping with ThruPaint.
Using Other 3D Model Editors
SketchUp, while an easy to use program with many powerful features, has some limitations, particularly in how it handles textures. It does not have the ability to handle advanced UV Mapping, for example, making a road texture follow the curves in the track. SketchUp also can't apply vertex colors or multiple textures and UV maps to the same face. Some custom track authors find it useful to create their model in SketchUp and then use the advanced texturing features of other programs, such as 3ds Max.
If you made your model in a 3D model editor that isn't SketchUp, you have to follow some similar but different guidelines. Just as in SketchUp you will need to export it as OBJ file, making sure the front faces are the proper ones. You will need to set your polygons; in 3DS Max, "polygons" are equal to meshes. You can merge meshes using the collapse tool.
Once you've created your model and all textures are placed, you can export your model with the OBJ exporter. It is found under the File menu (not the Plugins menu.) It exports the whole model to an OBJ file and converts the textures to PNG. You can refer back to this tutorial as needed as you continue to refine your model.
- Refer to the Creating a BRRES with CTools section of the tutorial to learn how to import it into Mario Kart Wii using CTools, a procedure which is easier but does not have as many features as the alternate option. This method handles OBJ files, which can be exported from SketchUp or 3ds Max.
- Refer to the Creating a BRRES with BrawlBox section of the tutorial to learn how to import it into Mario Kart Wii using BrawlBox. This method handles DAE files: that way, vertex colors (which can be made using the VertexPaint modifier) and multiple UV maps are supported. Mario Kart Wii only supports "Standard" materials (you can't apply different textures to different triangles of the same mesh, but you can use multiple superimposed UV maps, something important in the Shadows tutorial).
Introduction – Textures – Scale – Modeling ⇒ Using Blender – BRRES: CTools
BRRES: BrawlBox – BRRES: RiiStudio – Minimap – Solidity – KCL: Wiimms Tools – KMP Editing
Object Editing – Cameras – Cannons – Post-effects – Videos
Getting Files – BrawlBox Tricks – Animations – Shadows – Mipmaps
Custom Effects – Moving Terrain – Music – Ports – Paint Remakes – Tutorial Archive
Extended presence flags: Track Tutorial – LE-CODE Track FAQ