Walkthrough of a Weapon Import (Rise Noesis Wrapper) - Silvris/wiki-page-making GitHub Wiki
This page will walk through the entire process of porting a pre-existing weapon model into Monster Hunter Rise. This guide does not go through the processes of creating a model or creating textures, only utilizing pre-existing assets to import into Monster Hunter Rise.
For this example, I will be importing the Gaoren Cleaver from Monster Hunter Online. Credits go to NackDN for extracting the model and textures from the game and further credits can be found here.
Importing and Exporting the Model
Begin by downloading Blender 2.93 LTS and NSACloud's RE-Mesh Blender Wrapper, following the instructions on the page to install it and its requirements. Other versions of Blender released since 2.93 can work, but you will need to install the proper FBX patch for that version.
Import a MHR .mesh by clicking the File button in the top left, then hovering over Import, and then selecting RE Mesh.
Once you have the MHR model imported, import your own model and adjust it to match the proportions of the model you are replacing (quick Blender shortcuts-- G to translate/move the model, R to rotate the model, S to scale the model, pressing any of them then pressing X, Y, or Z will lock that transformation to the aforementioned axis).
Now, you will need to give the model weights. Aside from Switch Axe and Charge Blade, weapon weighting is often simple, as it is generally weighted only to one bone. To quickly weight a model, go into Weight Painting mode, select Weight Gradient from the menu on the left side of the screen, and then just begin a gradient in the direction away from your model. This will give the whole model the maximum value for your weight as it is set on the side menu (defaults to 1.0).
Now, you will want to rename your mesh to the same name as the Rise mesh, and then delete the Rise mesh (but not the armature!). After that, you will need to parent your mesh to the Rise armature by selecting your mesh, then selecting the Rise armature while holding Control, and pressing Control+P and selecting "Armature Deform".
At this point, the model is ready for exporting.
FAQ:
- The exporter won't export my model! - Open the console by clicking on Window->Toggle System Console. The exporter will have output an error message detailing what you need to do to fix the issue it has with your model.
Setting up the Textures
I will be using Photoshop for this guide, but it should not be too hard to follow along using the MHW Paint.net guide.
You will need to save your textures in .dds format, either through Paint.net, Photoshop, or Gimp. Additionally, Photoshop users will need to install a plugin to be able to open and save .dds textures.
Monster Hunter Rise uses many different types of textures, but there are two main textures that almost every model has: ALBD and NRMR/NRRT.
ALBD textures are your standard diffuse textures, with dielectric attached. They define the color of the model, while dielectric acts as the inverse of metallic in this game where higher values will lead to less metallic. This is the diffuse of the model I am importing. All (non-Switch) ALBD are saved as BC7 textures, as they have the widest range of transparency among the compression types.
NRMR textures are your normal maps. They describe the surface of the model, in a way that doesn't require editing the model itself. NRMR uses a standard 3-channel normal map, while the alpha channel contains the roughness map which controls whether it should be shiny or matte. The higher the value is in the roughness map, the more matte the section becomes.
NRRT are a variation on NRMR which feature an alternate channel layout. Red becomes the roughness map, green holds the Y-channel of the normal map, and the alpha channel holds the X-channel of the normal map. Blue stores translucency information where higher values will allow light to pass through the model, while lower values will block light. The Z-channel information goes unused within NRRT, as the game will auto-calculate this from the X and Y channels.
Whether or not a material uses NRMR or NRRT can be adjusted within the material parameters, discussed further below.
Aside from these two main textures, there are several other types of textures:
- ALP, or alpha maps - these are grayscale textures that handle transparency for meshes, although transparency flags must be enabled on the material for it to work properly
- EMI/DEMI, or emission maps - these show where (and occasionally, how) a model should emit light. It should be noted that in order for emission to fade in and out, an alpha channel with a pattern (usually a simple black-to-white-to-black gradient) must be present on the EMI. Usually saved with BC7
- WEMI/SEM, or weapon emission maps - for weapons only, these show where a Long Sword should apply spirit level colors, show where a Gunlance should emit while on Wyvernfire cooldown, show the indicator for a Charge Blade's current phial charge on the model, and where to emit light based on the Kinsect type on an Insect Glaive. On these three models, WEMI will often also act as an emission map on RGB, and the WEMI control will be in the alpha channel (this can also be adjusted within material parameters). Often saved with BC7
- FVM, or fur maps - these are used by the rendering engine to create a fur-like appearance in-game. The blue channel is the intensity of the fur effect on the area, while red and green are directional-controls.
- FX - this texture is effectively three in one. The red channel controls the application of specular film, which changes how light hits that portion of the model. The green channel controls the application of cubemaps and panorama maps. The blue channel controls wave emission, with darker portions of the texture emitting first then gradually growing up to the white portions of the texture when wave emission is enabled.
- HDR - this is a cubemap, a texture consisting of 6 smaller textures that form a box in order to reflect those images off of the mesh.
- CMM - present only on Rampage weapons, these control the pigmentation of those weapons.
Once you have your textures saved, download MHR Tex Chopper and drop all of your textures into it. There should now be an equivalent .tex for each .dds you selected. Make sure to add the appropriate extension to each file (for Rise, .28)
Materials and Folder Setup
While working on the mod itself, I would recommend the use of the FirstNatives plugin in order to rapidly prototype changes without having to close the game.
We're going to go ahead and set up our folders before working on the material, as there are some specifics that will save you some headache later. First, navigate to your mod directory. Then, should it not already be present, make a new folder named "natives". Inside that folder, make another folder named "stm". From there, you will need to make three more folders. First, one for all weapons ("weapon"), then inside it one for the weapon type (in my case, "GreatSword"). Finally inside that one, you need to make a folder for the specific weapon you are replacing ("G_Swd056").
Now, go back to the weapon type folder. You'll want to make another folder. The name for this folder should relate to your mod (in my case, "GaorenCleaver"). This is the folder that is going to house your textures, for reasons I'll discuss later.
Copy your .mesh into the specific weapon folder you made earlier, and then copy your textures into your new texture folder. Then make a copy of the .mdf2 present in the original weapon's files and move it into the specific weapon folder.
Download Silvris's MDF Manager and drag the .mdf2 into it. You will be met with a similar screen to this.
The first thing to talk about is the left box with the arrows. These are the actual materials present on the mdf2. The Library to the far left makes copies of materials within mdf2 that are added to it. You can then open one of these mdf2 and drag a material to your opened one to add it into your mdf2. Important: the number of materials within your mdf2 must match the number of materials present within your mesh, otherwise the game will refuse to read the materials. Materials can be reorganized by selecting the material in the box, then clicking the arrows to move it up or down. Right-clicking on a material will give you the option to remove that material.
The box to the right of the materials are the resource bindings. They define what texture should be used for what purpose. If you do not want a binding to be used, just bind it to a null texture (normally null_black, but certain bindings require special ones, such as null_gray and null_NRMR).
To the right of the resource bindings are the actual path bound to each resource binding. By changing this, you change where the game should look for the textures for your model. This is why I recommended you make a separate folder for textures. By moving them out of the weapon folder, weapon mods can be easily moved from one weapon model to another.
The final major thing to talk about are the material parameters and flags. The material flags are in the center while the material parameters are on bottom.
The material flags include things such as the name of the material, which mmtr the material is utilizing, the shading type, and a set of bitflags that enable or disable certain things. The most important flags are as follows:
- EmissiveUsed - enables the use of emission (should almost always be on)
- BaseAlphaTestEnable - enables the use of alpha masks for transparency
- BaseTwoSideEnable - disables backface culling
- SSSProfileUsed - likely enables subsurface scattering, untested
The material parameters often directly influence the bindings in some way. Notable ones:
- Emissive_color, Rim_Emissive_Blend, Rim_Emissive_Blur, Rim_Emissive_intensity - controls both emission brightness and emission color (use ratios to figure out exact colors if needed) of the rim emission (emission that only applies to the outline of the model)
- DetailEmissive_Intensity, DetailEmissive_speed, DetailEmissive_Tile - controls for the DetailEmissive map, it should be noted that only DetailEmissive can utilize wave emission (as none of the other emissions have speed controls)
- Metallic_Param, Translucency_Param/NoMap_Translucency_Param - controls whether to apply the aforementioned effects. Normally, keep the first at 1 and the latter 2 at 0
- UseNRRT - whether or not the model is using a NRMR or NRRT texture, 0 for NRMR, 1 for NRRT
- Fur_Tile, Fur_ColorBlend, Fur_velocity_intesity, Fur_edge_Blend - a set of four parameters that affect the application of fur based on the FurMap and FurVelocityMap bindings
- Film_Thickness, Film_IOR - the former applies the specular film to the areas specified by the red channel of the FX, while the latter determines the index of reflection for the film, changing how it reflects light (normally represented by a change of color in that section).
- FakeRefraction_Blend - applies refraction to the model based on the green channel of the FX map and the Panorama map
- UseWEMI_RGBA_or_R - whether the WE_Emissive map should act as a secondary emission map or only carry weapon-related information. Note that there are three distinct states with this setting. 0 with an alpha channel in the texture applies the alpha channel as the singular channel effect. 0 with only RGB applies the entire image as the effect without any changes to color. 1 will just read the red channel as the singular channel.
After you have made all of the changes you need, you are ready to save the mdf2. Press on the File button in the top left corner, and then hit Save. You are now ready to test your model in-game.