Contents
3. Steps
Required tools
Refer to the "Resources" section for download.
- Blender
- SuperBMD
- j3dview
- Any text editor you like (Notepad++ is recommended)
- NeoKCLCreate
- Arc Convertor
- Whitehole
- Wiimm's ISO Tools (to get your SMG1 dump)
Required tutorials
- How to import a custom model into SMG1
- How to import a custom model into SMG1 with 1 in-game material
- How to import a custom model into SMG1 with 2 or more in-game materials
- Custom model with an animated in-game material
Steps files used: tutorial7.zip
The title of this tutorial might not be very self-explanatory so let me elaborate a little after starting.
When importing a custom model into SMG1 you have to export a FBX and OBJ file of your Blender model so you can convert the FBX through some processes into a BDL and the OBJ through some other processes into a KCL and a PA files.
The BDL file is the 3D model of the model you want to import into the game. In other words, it is the visual part of the model. And the KCL and PA files are the collision part of the model.
When making a simple model we get both FBX and OBJ files from the same Blender model and that is because we are assuming that the visual model will have a collision shaped the same as the visual model (like in the first tutorials). In some cases you need to define for a custom model a custom collision model, the reason behind this is that you don’t want collision for some parts of the visual model. Why? You may ask, well, might be because not everything we want on our model is completely solid (maybe we are making a water model, water isn’t solid), or, we are defining a better collision for our model so it isn’t annoying for a player to interact with it, or, we don’t need collision at all because it is a decorative model. In each case that would be a custom collision.
For this tutorial I will show the case for defining a better collision for a model so let’s take a look at Fig. 1a and 1b. It is a very standard staircase.
(Fig. 1a - Custom model example - Staircase)
(Fig. 1b - Example model with its materials applied)
| Material | Object |
| MetalMat | UFOStrongA - SMG1 |
| WoodMat_v | DiskGardenPlanet - SMG1 |
I don’t want the collision for this model being the same as the visual model; I want Mario walking over the stairs as a ramp so that jumping isn’t necessary to climb each stair step to get on top of the custom model. A model like the one shown on Fig. 2 is the best for that.
(Fig. 2 - Collision model for the visual model)
So my FBX file will be the staircase model and my OBJ file will be the ramp model. Be sure to add the same materials in the same/similar faces of the collision model as in the visual model so that you can apply the respective collision properties of it in NeoKCLCreate (the same materials just to know which parts of the collision model should have a collision setting determined by the visual model, Fig. 3).
(Fig. 3 - Collision model with the same materials applied)
NOTE 1: you don’t have to add textures for the materials on the collision model, just assign the materials. I just did it so you can view which were those similar faces I mentioned before.
NOTE 2: As a suggestion keep both of your collision and visual models into different Blender projects. You can keep them on the same project if you know what you are doing.
NOTE 3: As you are using different models for the visual part and the collision part of the custom model you only need to triangulate the custom collision model.
After exporting the visual model in a FBX and the collision model in OBJ (be sure they are oriented/sized the same so they show in the same place in game), convert the FBX model into a BDL with SuperBMD and j3dview, and, convert the OBJ file in a KCL and PA files with NeoKCLCreate indicating your collision preferences (Fig. 4).
(Fig. 4 - Collision model's OBJ file opened in NeoKCLCreate under Wine on Linux)
Finally, do the rest you know to pack those into an ARC file (BDL, KCL and PA) and test them on game to see if they are positioned/working correctly as you expect (Fig. 5).
(Fig. 5 - Mario grabbing to the collision model, the diagonal of the ramp)
NOTE 4: if you want no collision for your model you can simply not add any KCL and PA files into the respective ARC file. If you keep only the BDL file of your custom model in the ARC file, you will pass through it in the game as if it was a ghost.