Difference between revisions of "Modeling with 3D Editor"

From Custom Mario Kart
Jump to navigation Jump to search
m (Grammar)
(70 intermediate revisions by 15 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]].
This is part of the Custom Track tutorial.
 
  
[[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.
  
== Using a 3D modeling program ==
+
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.
  
If you have never made a 3D model before, it is recommended to download Google Sketchup (the free
+
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.
  
=== Google Sketchup ===
+
This guide is written for SketchUp users, but most of this information applies to creating models in other programs.
  
First, you will need to download Google Sketchup if you do not already have it here: [http://sketchup.google.com/ Google Sketchup 8 Download]
+
== Creating Your Track ==
You will also need this plug-in: [http://www.mediafire.com/?qh8hgo16ujvoi0h OBJ Exporter download]. Put the .rb file in the Plugins folder of GSU (found in your Program Files folder).
 
  
If you have never used Google Sketchup before, you should watch the video tutorials found here: [http://sketchup.google.com/training/videos/new_to_gsu.html Google Sketchup Video Tutorials]
+
=== 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.
  
Now, it is time to create the track using the information you learned in the video tutorials. However, there are some important rules not listed in the video that you must follow for the model to be Mario Kart Wii compatible:
+
=== 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.
  
Make sure that the track uses the white faces for culling.
+
=== 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.
  
After the model is done, you still have to scale it to a new size. You have two choices:
+
=== Using Other 3D Model Editors ===
* Comparing your model to one of Nintendo's tracks (only with GSU Pro)
+
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].
* Comparing your model to one of [[BigOto2]]'s tracks (you can use any version of GSU)
 
  
If you chose the first option (meaning you have GSU Pro), you can either extract the OBJ models from Nintendo's tracks (File-->Export, in SZS Modifier's Model Editor), or download the model of N64 Mario Raceway [http://www.mediafire.com/?u79z7g2taawp605] and import into Sketchup using the built-in OBJ importer.
+
There is a tutorial on creating a model with [[Blender]] in the [[Modeling with Blender]] page.
  
If you chose the second option, you can download one of BigOto2's track models in the Sketchup 3D warehouse: [[Fishdom Island]], [[Lunar Speedway]], [[Sunset Desert]] and [[Volcanic Skyway]] are some of then.
+
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.
  
After having one of the models in Google Sketchup, you'll notice that the new model is huge, compared to what your current model might look like. But that's the correct size. Scale your track up until it matches the size you want it to look like ingame. After it's scaled up and in the right size, delete the imported model, move your track so that it's lowest point is just above the point where the three colored lines meet and save. Make sure the model does not go below the red and green axis, as there is an in-game fall boundary that will force you to respawn if your kart goes below that level.
+
== 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).
  
Now, export the model into an OBJ file.
 
 
=== Another 3D Model Editor ===
 
If you made your model in a 3d model editor that isn't Google Sketchup, you have to do something more for it to work. Follow the same steps you did to make the model in Sketchup, but after you export the OBJ file, you must run it through Blender (that means importing into it and exporting after) for then to be right. In Blender's Import and Export dialogs, remember to set the "Blender Exports Objects as OBJ" to "Material Groups". That should do it.
 
 
==Importing Your Model==
 
=== CTools Pack===
 
Open the [[CTools Pack]]'s BRRES Editor and click File-->New. The click File-->Import-->Wavefront OBJ. Use the '...' button next to the file path to open the .obj model file.
 
 
If there is a problem with the .obj file, a message should appear explaining what is wrong. If it is to do with materials, you can disable them using the Load Materials checkbox - but you'll have to import each texture manually later on. (the texture mapping goes OK, just the actual texture goes wrong)
 
 
If everything worked, you should now have more options. If you are making a course model, be sure to check the Course Model box, and if you are making the map, check the Map Model box, otherwise, don't check either box. Normally you can leave all of the other settings alone, however they can be used to correct problems.
 
 
If your model is too big or small, use the scale feature to increase or decrease it's size. Typically Mario Kart Wii courses are about 100000 units across.
 
 
If your model appears rotated, or lying on its side, use the swap Y and Z check box to correct this problem. By convention, Mario Kart Wii uses Y for vertical, but other programs use Z.
 
 
If your model shows only the back sides, it may be because you have the cull mode incorrect. Set it to the opposite mode to the default. If it is on automatic and did not work, consider going back to your modeling program and inverting normals.
 
 
After the OBJ model is imported, save the file as/over "course_model.brres" inside the SZS.
 
 
== 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.
 
 
== Links ==
 
 
{{Custom Track Tutorial}}
 
{{Custom Track Tutorial}}
 
[[category:Tutorials]][[category:Custom Track Tutorial]]
 
[[category:Tutorials]][[category:Custom Track Tutorial]]

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