Importing Custom Models for Vanilla Sprites
This tutorial will show you how to replace actor models in NSMBU. For replacing other kinds of models. See <here>. DISCLAIMER: This guide will mainly be using Blender as it is the most accessible due to it being freely available. You should also have basic knowledge about Blender in general before diving into this tutorial. The general process should also apply to other 3D modeling programs such as 3DS Max and Maya. This tutorial for now does not cover custom animations. Let’s get started!
Tools and Requirements
- You own extracted dump of the game’s files
- The model you want to replace. See <link to objects> to find the models to replace.
- Switch Toolbox
- The model(s) you will be importing plus its textures. Can be either made from scratch, from this game or another, etc.
The models you import I would personally recommend generally being around the same polygon count or less than the original models. You can go over the amount, but you shouldn’t be too crazy with the polygon count, even if it is a Wii U game. Too high-poly models could cause lag with too many of said models on screen.
Exporting the models as a base
In Switch Toolbox, navigate to the models you want to replace. For this example, I will be replacing the Goombrat model with the Splunkin model from New Super Mario Bros. DS. So, for this, I open the kakibo archive in the “Mushroom Heights” level archive (1-4.szs). Then open the BFRES, and expand the Models tab. Right click the appropriate model and select Export. Save the .dae file somewhere that you can easily find it. The default export settings will work just fine here. Now to import into Blender!
Importing into Blender
Open Blender, and delete the cube, camera, and light objects in the new scene. Go to File > Import > Collada (.dae) and select your DAE model(s) you exported in the previous step.
Removing the skeleton of the custom model
Make sure your model has similar proportions to the ones you are using before moving on, else it won’t animate correctly.
If your custom model doesn’t have a skeleton, skip to the Toolbox Importing section <or w/e i plan to name it>, otherwise carry on with this one.
Select the skeleton, then remove it. You’ll notice that the model scale becomes very large and is rotated -90 degrees on the X axis. Select the model and its object(s), and press R to rotate, X to lock it on the X axis, and 90 then press Enter to rotate the model 90 degrees on the X axis. After that, sure you go into the vertex group tabs and remove all of the vertex groups for the objects.
Applying the skeleton of the base model
Rescale the custom model so it is scaled according to the model you are replacing. After that, delete the objects of the base model but not the skeleton. After that, select the objects of the custom model, then control click the armature. Right click > Parent > Parent With Empty Groups. Now it’s time to rig the model to the bones!
Rigging your model to the bones is what lets it animate in-game. Enter Edit Mode, then go to the vertex groups tab. The vertex groups will be named the same as the bones. Select the vertices (hold the Shift key to select multiple sets of vertices, and Control to deselect ones you don’t want), and assign it to the correct vertex group. Here are some common examples for what each vertex group you’ll find corresponds to what body part. Note that Nintendo doesn’t use the same vertex group naming scheme for every model (e.g., Bowser doesn’t use the naming scheme below) so do keep that in mind. If you need a visual reference on how the model is supposed to be rigged, you can also check the vertex groups of the original model beforehand.
- skl_root: the hips
- leg_l1: left leg from the waist area to the above the left knee
- leg_l2: left knee to left ankle
- ankle_l1: left foot
- leg_r1: right leg from the waist area to the above the right knee
- leg_r2: right knee to right ankle
- ankle_r1: right foot
- spin (sometimes called spine in some models): the spine
- face (sometimes called head): the head
- mouth: the mouth
- arm_l1: left shoulder to elbow (don't select elbow)
- arm_l2: elbow to the end of the arm
- wrist_l: left hand
- arm_r1: right shoulder to elbow (don't select elbow)
- arm_r2: elbow to the end of the arm
- wrist_r: right hand Below is a sample clip of how rigging your model should go.
<Link to unlisted video>
After you have finished rigging your model, switch from Edit Mode to Object Mode. Select the skeleton and enter Pose Mode. Feel free to test moving around other bones while you are at it to make sure you rigged the model correctly, and make sure you undo after you are done testing.
<todo add the rest later>