Difference between revisions of "Modeling with 3D Editor"

From Custom Mario Kart
Jump to navigation Jump to search
m (Grammar)
(95 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{template:Under-construction|}}
+
This page is a part of the '''Custom Track Tutorial'''. [[Custom Track Tutorial|Back to the main tutorial page]].
[[Category:Tutorials]]
 
This is part of the Custom Track tutorial.
 
[[Custom Track Tutorial|Back to the main tutorial page]]
 
  
Modeling can be done either in MS Paint (only MS Paint, not any other image editor) or in a 3D model editor.
+
== Using SketchUp ==
 +
If you have never made a 3D model before, it is recommended to use [[SketchUp]], a free and easy to learn modeling program.
  
== Using Miscrosoft Paint ==
+
First-time SketchUp users should complete the [http://sketchup.google.com/training/videos/new_to_gsu.html New Users Video Tutorials] before proceeding; explaining the basic terms and techniques covered by the tutorials is beyond the scope of this article. There are also other free modeling tools, see '''[[3D Tool]]s''' for more details.
  
===1.===
+
SketchUp users will need to download this [http://www.vgmp3.org/DLs/OBJexporterSep2012.zip OBJ Exporter]. The OBJ Exporter included with SketchUp Pro is not compatible.
Open Paint and create a new 150x150 image. You have to make the image as small as possible, as long as it contains all of your map. You can make it bigger if you need to.
 
  
Before starting to paint make the whole picture black (color #000000). This doesn't get recognized in the model importer.
+
This guide is written for SketchUp users, but most of this information applies to creating models in other programs.
  
First, set up some basic greyscales. Greyscales are colours with the same RGB values (e.g. #3F3F3F). If you use any 'colored' color, SZS Modifier won't be able to import it.
+
== Creating Your Track ==
  
===2.===
+
=== Scale ===
 +
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.
  
After the setup you can start painting now. Paint the map of your track, the same one that would get displayed in the bottom right of the screen ingame.
+
=== Suggestions and Guidelines ===
 +
[[File:How-to-reverse-faces-gsu.JPG|200px|thumb|Reversing a back (blue) face in SketchUp.]]
 +
[[File:Tutorial-3Ddepth.jpg|200px|thumb|Back (blue) faces become invisible in-game. Click the image for a detailed view.]]
 +
*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''.
 +
*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.
 +
*The whole drivable road must be above the red and green axis in SketchUp. Mario Kart Wii enforces a fall boundary below these axes even if it is not in the course.[[kcl]] file. 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.
 +
*There are two options for creating trick ramps: you can model it in your level or you can place an [[object]] like {{obj-ref|Mdush}} (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 [[KCL_flag#Fast_Trick_.280x07.29|fast trick]] surface, the bottom will have a [[KCL_flag#Sticky_Road_.280x16.29|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 level.
  
Remember that simpler drawings have higher chances of getting imported:
+
=== Texturing and Optimizing your Model ===
 +
[[File:Sketchup-TexturePositioning.jpg|200px|thumb|The texturing interface of SketchUp. Materials can be positioned in different ways by selecting one of the four pins.]]
 +
*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 [[Texturing|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é pattern]]s 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.
 +
[[File:Sketchup-MaterialsEditor.jpg|200px|thumb|The ''Edit Materials'' window. Change the global scaling of a texture by putting different values in the dimension fields.]]
 +
*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 [http://sketchup.google.com/support/bin/answer.py?answer=114523 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 [[Solidity|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 [http://sketchup.google.com/support/bin/answer.py?answer=167479 "photo"] textures. These will not show up within Mario Kart Wii as they are controlled differently in-game.
  
[[Image:Modeltut-good.PNG|thumb|center|200px|Higher chance of being imported]]
+
=== Using Other 3D Model Editors ===
[[Image:Modeltut-bad.PNG|thumb|center|200px|Lower chance of being imported]]
+
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 [http://en.wikipedia.org/wiki/UV_mapping 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 [http://en.wikipedia.org/wiki/Autodesk_3ds_Max 3ds Max].
  
The grayscale must be set up like this: The higher you want the track to be, the closer to white. So...
+
There is a tutorial on creating a model with [[Blender]] in the [[Modeling with Blender]] page.
[[Image:Modeltut-height.PNG|thumb|center|200px|]]
 
If you want the track to be highter, you make it lighter. If you want it to be lower, make it darker.
 
  
To make ramps, use a gradient.
+
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.
  
To make straight walls, you have to import really steep slopes, and use the [[Modeling#Tools|Pinch]] tool to transform then into walls.
+
== Next ==
 +
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).
  
===3.===
+
{{Custom Track Tutorial}}
 
+
[[category:Tutorials]][[category:Custom Track Tutorial]]
Save your image as a PNG file. Make multiple image files, each with a different part of the road: One with the normal road, one with the offroad, one with the walls, etc. You have to do this so each can have it's own texture and each gets it's own behaviour ingame. To put the track you just made inside the file, go to the next part of the tutorial: [[Modeling#Importing Your Model|Importing Your Model]].
 
 
 
== Using a 3D modeling program ==
 
 
 
The most used programs for making CT's are 3ds max and Google Sketch-up (GSU).
 
 
 
To make a track with 3D modeling software, you need to export your model as obj file.
 
 
 
Exporting obj files with:
 
 
 
 
 
=== 3ds max ===
 
 
 
''to be made by someone who uses 3ds max''
 
 
 
 
 
=== '''G'''oogle '''S'''ketch'''U'''p ===
 
 
 
Even when pro GSU has an obj exporter, you can't use it. It exports in a format the szs modifier can't read.
 
Instead you have to use a plugin: [http://sites.google.com/site/jimfoltz02/ObjExporter.rb|Download obj exporter by Marten van der Honing]
 
 
 
Put the .rb file in the plugins folder of GSU.
 
 
 
Settings to tick:
 
 
 
Export back faces, UV helper, selected only.
 
 
 
Export back faces to create clockwise culling (white faces are the visible and solid (after kcl creation) sides),
 
UV helper to export texture mapping and selected only to separate polygons.
 
 
 
To enable texture mapping support, you need to texture BOTH sides of the face.
 
 
 
 
 
'''How to model the track:'''
 
 
 
Start with drawing a simple square, than draw your track on it in 2D (so the road). After that, make the road in 3D (raising some parts). When you're done with the road, you start making walls etc. Make smart use of GSU's tools to realise it.
 
When you're done with your model, start de-complexing it, aka delete everything you don't need. Finally texture the model, and you're ready to export.
 
 
 
TIP: make use of the component tool to separate different parts of the track (at the same way your polygons will appear).
 
 
 
Export everything OUTSIDE components, the obj exporter can't export components, and no texturing if you export inside a component.
 
 
 
 
 
What to do with the exported obj files:
 
 
 
Before you can import the files into the szs modifier, you need to do some things, else you'll get an "invalid" error.
 
 
 
Open all your exported files with notepad. Remove the 1st 2 lines of each file, and replace all dots into comma's (use replace tool).
 
Than save.
 
 
 
Now you are ready to import into the szs modifier, and that's the end of the GSU section.
 
 
 
==Importing Your Model==
 
 
 
In SZS Modifier, open the file "course_model.brres". In it, open the folder "3DModels(NW4R)" and the only file in it, "course".
 
 
 
Wait, and soon a model of the course will appear. Select the polygon you want to import the model to, and...
 
 
 
===Image===
 
 
 
Open the Tools--->Model Creator. A window should pop up, similar to this:
 
[[Image:Modeltut-import.PNG|thumb|center|440x451px|The Model Creator window]]
 
Uncheck "Automatically Detect" - that will probably make your track too big. But now, you're going to set values for your model, and you must use the same ones for every piece of the model that you're going to import, so it's better if you write then up.
 
 
 
Anyways, the Minimum X and Z must each be set to the same, and so the Maximum X and Z do (and it's better if all four are the same number, except for the Minimum being negative and the Maximum being positive - that's what you should do if the image is a square).
 
 
 
The Minumum and Maximum Y can't be the same, and you shouldn't make any of then under 0. Usually the original ones that appear will do it, but you have to test - if your slopes end up too steep, decrease the difference between then. If your slopes end up too gentle, increase the difference between then. If there aren't slopes at all, it means that the Minimum and Maximum Y are the same.
 
 
 
'''Culling''': This is not a sport, that would be "Curling"
 
 
 
Culling sets which is the size of the model you're importing. That means:
 
* If you want to make a road, set it to Clockwise
 
* If you want to make a ceiling, set it to Counterclockwise
 
* If you want to make walls, set it to None
 
 
 
If you, for example, accidentally import the road as Counterclockwise, the character will try to stay under the road, but only for a second before being naturally pushed down by gravity. If you set it to None, both sides of the model will be visible and solid. That might sound like the better option, but it actually glitches a lot - there are hugh chances that your shells, bananas and bullet bills won't know what side to go and will disappear.
 
== Tools ==
 
Those are all avaliable in the BRRES editor:
 
* Create KCL
 
This is explained in the [[Important Stuff (Custom Track Tutorial)|Important Stuff]] section.
 
* Apply a Matrix
 
Used to increase and decrease the size of the model, as well as moving it certain distances.
 
* Model Creator
 
This is what you use to insert your Paint images in the file.
 
* Delete Polygon
 
After you imported all of your models, you'll notice that the ones you didn't mess with are still there. You might want to let then there for a visual (such as a Rainbow Road track with Moonview Highway right under it), but in most cases you want to delete then with this option.
 
* Retexture Polygon
 
This is explained in the [[Texturing]] section.
 
* Pinch
 
This will immediatly switch to a top-down view of the model. You are able to disort the models with this tool.
 
 
 
== After The Model Is Done ==
 
Now, you follow the [[Texturing]] tutorial to see how to fix the colors of the track so that they're the way you want to.
 

Revision as of 11:17, 12 November 2018

This page is a part of the Custom Track Tutorial. Back to the main tutorial page.

Using SketchUp

If you have never made a 3D model before, it is recommended to use SketchUp, a free and easy to learn modeling program.

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. There are also other free modeling tools, see 3D Tools for more details.

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

Scale

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

Reversing a back (blue) face in SketchUp.
Back (blue) faces become invisible in-game. Click the image for a detailed view.
  • 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.
  • 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.
  • The whole drivable road must be above the red and green axis in SketchUp. Mario Kart Wii enforces a fall boundary below these axes even if it is not in the course.kcl file. 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.
  • There are two options for creating trick ramps: you can model it in your level or you can place an object like Mdush (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 level.

Texturing and Optimizing your Model

The texturing interface of SketchUp. Materials can be positioned in different ways by selecting one of the four pins.
  • 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 (TexturePosition) 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.
The Edit Materials window. Change the global scaling of a texture by putting different values in the dimension fields.
  • You can easily scale all instances of a texture in your level: open the Materials Browser (WindowsMaterials), 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.

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.

There is a tutorial on creating a model with Blender in the Modeling with Blender page.

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.

Next

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).