Difference between revisions of "Creating a Minimap"

From Custom Mario Kart
Jump to navigation Jump to search
(Multicolor Minimap)
 
(22 intermediate revisions by 11 users not shown)
Line 1: Line 1:
==Introduction==
+
This page is a part of the '''Custom Track Tutorial'''. [[Custom Track Tutorial|Back to the main tutorial page]].
  
This guide is presented as several steps with alternate approaches; choose the methods that work for you.  
+
== Introduction ==
 +
This page will guide you through the process of creating a minimap model. The minimap, in-game, might look like an image, but it is actually a 3D model displayed from the top on the corner of your screen.
  
An alternative method exists [[BrawlBox Tricks#Creating_a_Minimap|Here]], if you do not have access to a Minimap large enough for your new Minimap to fit into.
+
== Preparing the model ==
 +
To make your minimap model, you should usually start from the [[Solidity|optimized collision model]]; starting from the normal course model is also possible. Begin by making a copy of your track project and name it with descriptive name. Remove any meshes you don't want to appear on the minimap; like walls, fall boundaries, offroad and possibly shortcuts (it's up to you if you want to keep them). Try to keep only meshes that represent main road of the track. You might also want to include [[Objects|object]]s in your map model, such as red and green mushrooms from [[Wii Mushroom Gorge|Mushroom Gorge]]. For more information on this, check the [[KMP Editing|KMP tutorial]] and [[Object]].
  
==Step 1: Creating a Minimap Model==
+
== Creating minimap using [[ANoob's BRRES Material Tool]] ==
 +
=== Step 1: Exporting the Minimap Model ===
 +
When you have a ready model you need to export the minimap model as a DAE file.
  
You should be using either one texture or a few different textures exclusively for roads in your model. If not, edit your model or create a [[collision model]] so that they are; road textures in the wrong places can lead to glitches such as driving up vertical walls and unintentional shortcuts. If you want to display some shortcut paths that share textures with other parts of your model or include other "landmark" features to help with positioning objects, paths and checkpoints in your KMP, you will need to make a separate minimap model. These positioning landmarks should be removed when you release your level.  
+
The scale of the minimap model should be the same as for your [[KCL]] file. Save the output as <tt>map_model.dae</tt>.
  
The SketchUp method is recommended for creating a minimap with landmarks or a minimap with reduced complexity.
+
=== Step 2: Creating the Minimap [[BRRES]] ===
 +
Import the file into [[ANoob's BRRES Material Tool|ABMatt]] using <tt>File</tt> &rarr; <tt>Import</tt>. If you see <tt>map</tt> bone under <tt>map_model.brres</tt> that means the model imported correctly.
  
*'''SketchUp'''
+
Save the file as <tt>map_model.brres</tt>. Your minimap should display correctly in-game now.
  
[[File:MapmodelcreationSketchup.jpg|200px|thumb|Road surfaces selected in [[SketchUp]], then pasted into a new file.]]
+
== Creating minimap using [[CTools]] and [[Wiimms SZS Tools]] ==
 
+
=== Step 1: Exporting the Minimap Model ===
: Select one instance of each texture used on your roads, then from the right click menu choose ''Select > All with same Material'', then ''Copy''.  Next go to ''File > New''.  Select ''Paste In Place'' from the Edit Menu.  If you are creating a map model with landmarks, you can select the surfaces you want to add and paste them into your model the same way.  If you haven't already, select your entire model, right click, and then  ''explode'' all components and ''convert all curves to polygons''.  Next, delete any lines separating textures or holes in your map model to reduce the number of polygons.  Save as a new SketchUp file, then export as an OBJ file.
+
After you have removed everything that should not appear in the minimap (and possibly added extra stuff you want there), remove every material and export the model as an OBJ.
 
+
=== Step 2: Creating the Minimap [[BRRES]] ===
 
+
The process is similar to importing a course model in [[Creating a BRRES with CTools]] tutorial; however, you should check the "map model" option. Save the file as <tt>map_model.brres</tt> and overwrite the previous one if needed.
*'''SZS Modifier'''
+
=== Step 3: Fixing positions with Wiimms SZS Tools ===
 
+
The BRRES file created in the previous step does not display correctly in-game; the map appears incorrectly and out of place. You must fix and center it using [[Wiimms SZS Tools]]. Use one of the commands (the first one is recommended):
[[File:MapmodelcreationSZSModifier.jpg|200px|thumb|Roads selected in [[SZS Modifier]].  Notice that SZS Modifier mirrors the perspective in this view.  This will not affect your level in any way.]]
 
:Load your SZS in SZS Modifier.  Click on the course_model for your level, which will open up a new window displaying your model.  Zoom in once the textures have finished loading.  Look at the right-hand pane.  It displays all the of textures used in your model.  Holding the CTRL button, select only the textures used on your roads.  Next choose ''Export'' from the File Menu and save as an OBJ file.  
 
 
 
==Step 2: Importing the Minimap Model==
 
 
 
[[File:MinimapwithlandmarksforKMPediting.jpg|200px|thumb|A minimap with landmarks, viewed from the KMP Editor of SZS Modifier. The thin white lines are low barrier walls in the level.  Using landmarks, you can place objects near, on top of, or behind the barriers with precision.]]
 
 
 
In the previous tutorials, we used the BRRES Editor to import our course model.  While the BRRES ''can'' create a map model, the minimap will usually not be displayed under the player icons in the correct positions. Additionally, trying scale and position a BRRES Editor-imported minimap will also fail to maintain the correct position on the screen relative to the player icons.  So even if the minimap does line up, it usually won't be the right size and it will be difficult to adjust.  SZS Modifier ''will'' position the minimap correctly. However, SZS Modifier can't expand files, so your minimap is required to be fairly simple.
 
 
 
It is recommended to use the BRRES Editor when importing a minimap model with landmarks for KMP editing. Use SZS Modifier to import a simpler minimap model for when you release the level.
 
 
 
*'''BRRES Editor'''
 
 
 
:Using the same procedure as when you [[Modeling_With_3D_Editor#Importing_Your_Model|imported your course model]], import the OBJ file you created in Step 1.  Click on the ''Map Model'' checkbox instead of ''Course Model'', then click ''Import''. 
 
 
 
*'''SZS Modifier'''
 
 
 
:First you will need a minimap BRRES file from a large level that contains a lot of vertex space, such as Mushroom Gorge.  Open the map_model.brres file with SZS Modifier.  Select ''Import'' from the File Menu.  When prompted to disable culling, choose ''Yes''.  Import the OBJ file you created in Step 1.  If the model was imported successfully, your model will now be visible in the window. Save the file.
 
 
 
:If it was unsuccessful, you will see an error message that says: ''The model is too complex to fit in the selected polygons. Select more polygons or reduce the model complexity.'' You will need to go back to Step 1 and simplify your map model.
 
 
 
==Step 3: Finding Minimap Position Values==
 
 
 
The next step is to find the position values for the view region of your minimap. These values can be approximate; larger numbers will make the view region larger and the minimap smaller. Skip to step 5 if you did not use SZS Modifier to create your map model file in Step 2. Skip to step 4, if you use [[Wiimms SZS Tools]] to find automatically good positions.
 
 
 
*'''SketchUp'''
 
 
 
:Measure in meters from origin (where the red, green and blue axes meet) a bit farther than the farthest edge of your drivable roads in each direction. Write down these values and label them ''Left'', ''Down'', ''Right'' and ''Up'', in that order.  Make the ''Left'' and ''Up'' values negative, assuming origin is near the center of your model.  If you're not sure which direction is which, go to ''View > Toolbars > Views'' and activate the Views Toolbar. Click on the house icon labeled ''Top''.  This will orient your perspective so that the top of the screen is ''Up'', etc.
 
 
 
*'''BRRES Editor/SZS Modifier'''
 
 
 
:Go back to Step 2 and create a map model file using the BRRES Editor, even though you used the SZS Modifier technique in that step. Open that map model file with SZS Modifier, go to ''Tools -> Minimap Control'' and write down the settings.
 
 
 
== Step 4: Positioning the Minimap ==
 
 
 
[[File:MapmodelcreationSZSModifierMinimapcontrols.jpg|200px|thumb|The Minimap Control interface in SZS Modifier.]]
 
*'''SZS Modifier'''
 
:Open the map model you created with SZS Modifier in Step 2, go to ''Tools -> Minimap Control'' and enter the values you found in Step 3.
 
 
 
*'''Wiimms SZS Tools'''
 
:[[Wiimms SZS Tools]] can automatically define good values for the minimap view region with a well centered minimap. Use one of the commands
 
 
     wszst minimap --auto FILE
 
     wszst minimap --auto FILE
 
     wszst normalize TRACK.szs --minimap
 
     wszst normalize TRACK.szs --minimap
:where FILE can be a [[SZS]], [[U8]], [[BRRES]] or [[MDL0]] file and TRACK.szs is a [[SZS]] file. This can also be done if other steps for positioning the minimap failed. More details about the minimap command and the --auto option can be found on [http://szs.wiimm.de/opt/auto Wiimms SZS Homepage].
+
:Where FILE can be a [[SZS]], [[U8]], [[BRRES]] or [[MDL0]] file and TRACK.szs is a [[SZS]] file. More details about the minimap command and the --auto option can be found on [http://szs.wiimm.de/opt/auto Wiimms SZS Homepage].
  
==Step 5: Importing to Your Level==
+
:If you have used the bottom code and you got an error opening the [[SZS]] in [[CTools]] or [[SZS Modifier]] such as "Arithmetic operation resulted in an overflow", then you should try again using the top code.
  
Finally, use SZS Explorer to import your new map_model.brres file into your level's SZS.<br>Test it in-game once you have your player start positioned to see if the minimap is positioned and scaled acceptably.
 
  
==What's Next?==
+
With the new file imported, your minimap should display correctly in-game now.
Proceed to the [[Important_Stuff_(Custom_Track_Tutorial)|Important Stuff]] article if you want to set up a cannon, import or edit objects to put in your level, or edit post effects to give your level different look.  If not, go to directly to the [[KMP Editing]] article set up your player start, checkpoints, enemy routes and position objects in your level.
 
  
==Create Colored Minimap==
+
== Create minimaps with darker areas ==
 +
[[File:Multicolormapkoopabeach.png|200px|thumb|Multicolor minimap used in [[N64 Koopa Troopa Beach (zilly)]]. (Texture Method)]]
 +
A multishade minimap is useful to show things like offroad location and submarine paths.
  
Wii Layout Editor can change the color for you. You'll need to extract the game_image folder from Race.szs (including all subfolders).
+
==== With Vertex Colors ====
Open Wii Layout Editor.
+
Recommended method. You can paint vertex colors onto your model in [[3ds Max]], [[Blender]] or other advanced [[3D Tool]] and export your model as a DAE, preferably in the [[3ds Max]] format.
Click Open and go to the 'blyt' folder you just extracted
 
Then open common_w40_map_set_position.brlyt.
 
On the left side, click the + next to "Brlyt"
 
Then click the + next to "Mat1".
 
Then click on "race_null".
 
On the left side, click on the numbers inside "BackColor".
 
You can either start typing in a value here or you can press "..." and choose a color.
 
  
{{youtube-box|tutorial|OlkstNmKM4w}}
+
If you do not own a 3ds Max software you can export the file as a FBX and convert it to DAE using [https://www.autodesk.com/developer-network/platform-technologies/fbx-converter-archives Autodesk FBX Converter 2013.3].
  
==Create Multicolor Minimap==
+
When [[#Creating minimap using ANoob's BRRES Material Tool|creating minimap using ANoob's BRRES Material Tool]] vertex colours will be imported and applied automatically.
  
[[File:Multicolormapkoopabeach.png|200px|thumb|Multicolor minimap used in [[N64 Koopa Troopa Beach (Zilla)]].]]
+
Alternatively you can import your model using other [[BRRES]] creation programs and manually replace the bones.
A multicolor minimap is useful to show things like offroad location and submarine paths.
 
  
To create one, first using CTools, import your minimap model as "Course model"; your model must have two texture; one for "regular" map and another for the other.
+
==== With Textures ====
 +
Make a minimap model similar to the one described above, but instead of having no textures, it should have two: one for "regular" map and another for the darker one. Import it using CTools as course model (not map). Then, you need to replace the bones in your [[BRRES]] file.
  
Open with Brawlbox any map model and export three thing: Bones ("map") and the two references ("posLD" and "posRU").
+
==== Replacing the bones with [[Brawlcrate]] ====
 +
*Open a map model from another ([[Nintendo]] or [[Custom Track|custom]]) track with [[Brawlcrate]] and export the three bones from the MDL0: "map" and the two children "posLD" and "posRU".
 +
*Now open your map model, rename the model from "course" to "map" and import the first bone over the existing one; name the first one "map" and then right click and select "Add New Child" twice (you can also use twice the sequence Ctrl+Alt+N); now replace these references, posLD first and posRU second, naming them accordingly.
 +
*The last thing is replacing textures. You only have to do this if you used the texture method. Otherwise, you are done. Create two 8x8 pixels images, one with white color and the second gray (any shade) or black; replace the "regular" map's texture with white and the other with gray/black in BrawlBox (both CMPR format).
  
Now open your map model, rename the model from "course" to "map" and import first the Bones, rename them "map" and then click with right button of the mouse and select twice "Add New Child" (you can also use twice the sequence CTRL+ALT+N); now replace these references, posLD first and posRU second.
+
Now you can save and fix the positions with Wiimms Tools as described above, import the file in your track's SZS and test in-game. This can also be done to create minimaps with various colors (other than gray) for [[Battle Arena (Custom Track Tutorial)|battle arenas]]. Track maps cannot be colored as the game forces them grayscale.
  
The last thing is replacing textures: with Paint create two 8*8 images, one with White color and the second Grey (any shade) or Black; replace the "regular" map's texture with White and the other with Grey/Black (both CMPR format).
+
== Extra ==
 +
=== Change the Minimap Colors ===
 +
[[Wii Layout Editor]] can change the colors for you. This will change the color of the map in your entire game.
 +
* Extract the "game_image" folder from Race.szs (including all subfolders, otherwise the program will not be able to open the file).
 +
* Open Wii Layout Editor.
 +
* Click "Open" and go to the "blyt" folder you just extracted.
 +
* Open "common_w40_map_set_position.brlyt".
 +
* On the left side, click the "+" next to "Brlyt".
 +
* Click the "+" next to "Mat1".
 +
* Click on "race_null".
 +
* On the left side, click on the numbers inside "BackColor".
 +
* You can either start typing in a value here or you can press "..." and choose a color.
  
Now you can save, import the file in your track's SZS and test in-game.
+
; With gradient
 +
* Follow the same steps as above until you have clicked the "+" next to "Brlyt".
 +
* Click on the "+" next to "RootPane" and click on "race_null".
 +
* On the left side, find the "Vertex Colors" section, where there is a value for each corner of the minimap color.
 +
* You can change the colors for each corner of the minimap by clicking "..." next to each value.
  
 +
== Links ==
 
{{Custom Track Tutorial}}
 
{{Custom Track Tutorial}}
[[category:Tutorials]][[category:Custom Track Tutorial]]
+
[[Category:Tutorials]]
 +
[[Category:Custom Track Tutorial]]

Latest revision as of 17:28, 28 December 2022

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

Introduction

This page will guide you through the process of creating a minimap model. The minimap, in-game, might look like an image, but it is actually a 3D model displayed from the top on the corner of your screen.

Preparing the model

To make your minimap model, you should usually start from the optimized collision model; starting from the normal course model is also possible. Begin by making a copy of your track project and name it with descriptive name. Remove any meshes you don't want to appear on the minimap; like walls, fall boundaries, offroad and possibly shortcuts (it's up to you if you want to keep them). Try to keep only meshes that represent main road of the track. You might also want to include objects in your map model, such as red and green mushrooms from Mushroom Gorge. For more information on this, check the KMP tutorial and Object.

Creating minimap using ANoob's BRRES Material Tool

Step 1: Exporting the Minimap Model

When you have a ready model you need to export the minimap model as a DAE file.

The scale of the minimap model should be the same as for your KCL file. Save the output as map_model.dae.

Step 2: Creating the Minimap BRRES

Import the file into ABMatt using FileImport. If you see map bone under map_model.brres that means the model imported correctly.

Save the file as map_model.brres. Your minimap should display correctly in-game now.

Creating minimap using CTools and Wiimms SZS Tools

Step 1: Exporting the Minimap Model

After you have removed everything that should not appear in the minimap (and possibly added extra stuff you want there), remove every material and export the model as an OBJ.

Step 2: Creating the Minimap BRRES

The process is similar to importing a course model in Creating a BRRES with CTools tutorial; however, you should check the "map model" option. Save the file as map_model.brres and overwrite the previous one if needed.

Step 3: Fixing positions with Wiimms SZS Tools

The BRRES file created in the previous step does not display correctly in-game; the map appears incorrectly and out of place. You must fix and center it using Wiimms SZS Tools. Use one of the commands (the first one is recommended):

    wszst minimap --auto FILE
    wszst normalize TRACK.szs --minimap
Where FILE can be a SZS, U8, BRRES or MDL0 file and TRACK.szs is a SZS file. More details about the minimap command and the --auto option can be found on Wiimms SZS Homepage.
If you have used the bottom code and you got an error opening the SZS in CTools or SZS Modifier such as "Arithmetic operation resulted in an overflow", then you should try again using the top code.


With the new file imported, your minimap should display correctly in-game now.

Create minimaps with darker areas

Multicolor minimap used in N64 Koopa Troopa Beach (zilly). (Texture Method)

A multishade minimap is useful to show things like offroad location and submarine paths.

With Vertex Colors

Recommended method. You can paint vertex colors onto your model in 3ds Max, Blender or other advanced 3D Tool and export your model as a DAE, preferably in the 3ds Max format.

If you do not own a 3ds Max software you can export the file as a FBX and convert it to DAE using Autodesk FBX Converter 2013.3.

When creating minimap using ANoob's BRRES Material Tool vertex colours will be imported and applied automatically.

Alternatively you can import your model using other BRRES creation programs and manually replace the bones.

With Textures

Make a minimap model similar to the one described above, but instead of having no textures, it should have two: one for "regular" map and another for the darker one. Import it using CTools as course model (not map). Then, you need to replace the bones in your BRRES file.

Replacing the bones with Brawlcrate

  • Open a map model from another (Nintendo or custom) track with Brawlcrate and export the three bones from the MDL0: "map" and the two children "posLD" and "posRU".
  • Now open your map model, rename the model from "course" to "map" and import the first bone over the existing one; name the first one "map" and then right click and select "Add New Child" twice (you can also use twice the sequence Ctrl+Alt+N); now replace these references, posLD first and posRU second, naming them accordingly.
  • The last thing is replacing textures. You only have to do this if you used the texture method. Otherwise, you are done. Create two 8x8 pixels images, one with white color and the second gray (any shade) or black; replace the "regular" map's texture with white and the other with gray/black in BrawlBox (both CMPR format).

Now you can save and fix the positions with Wiimms Tools as described above, import the file in your track's SZS and test in-game. This can also be done to create minimaps with various colors (other than gray) for battle arenas. Track maps cannot be colored as the game forces them grayscale.

Extra

Change the Minimap Colors

Wii Layout Editor can change the colors for you. This will change the color of the map in your entire game.

  • Extract the "game_image" folder from Race.szs (including all subfolders, otherwise the program will not be able to open the file).
  • Open Wii Layout Editor.
  • Click "Open" and go to the "blyt" folder you just extracted.
  • Open "common_w40_map_set_position.brlyt".
  • On the left side, click the "+" next to "Brlyt".
  • Click the "+" next to "Mat1".
  • Click on "race_null".
  • On the left side, click on the numbers inside "BackColor".
  • You can either start typing in a value here or you can press "..." and choose a color.
With gradient
  • Follow the same steps as above until you have clicked the "+" next to "Brlyt".
  • Click on the "+" next to "RootPane" and click on "race_null".
  • On the left side, find the "Vertex Colors" section, where there is a value for each corner of the minimap color.
  • You can change the colors for each corner of the minimap by clicking "..." next to each value.

Links