Suppose in Elden Ring you want to add the scarf from the (altered) Nomadic Merchant’s Finery and place it on top of the (altered) Confessor Armor. In other words, you want to go looking from this:
To this:
To mix and match armor parts in Elden Ring, you will need the following tools:
- UXM Selective Unpacker – Extracts .DCX files from Elden Ring’s data files
- ModEngine2 – A mod launcher for Elden Ring
- WitchyBND – Packs and unpacks .DCX and .TPF files
- Pear’s FLVER Editor – AKA FLVER Editor 2.0. A simple FLVER model editor. Will be used to import, adjust and delete meshes.
- Aqua Model Tool – Converts .FLVER files to .FBX files so that they can be edited in Blender
- Blender – FLVER_EDITOR has limited editing capability. If we want to do something such as splitting a mesh, we will need to use a more robust 3D editing program such as Blender.
- ER_Base_Male.blend – Blender file containing the base male player model. Created by Dasaav.
- Grand Merchant – Mod that will be loading our custom armor parts
- Elden Ring Item Data Sheet – A spreadsheet containing model numbers for armor parts
See each tool’s webpage for installation instructions. Also be sure to read part 1 of my How to Resize Armor Parts… tutorial for instructions on how to extract .DCX files with the UXM Selective Unpacker.
Part 1: Setup
According to the item data sheet, the .DCX files for the Confessor Armor (Altered) and the Nomadic Merchant’s Finery are bd_m_1401.partsbnd.dcx and bd_m_1711.partsbnd.dcx respectively. After copying and pasting those two files from the parts folder to your work folder, open your WitchyBND folder in a new window and drag each .DCX files onto WitchyBND.exe. This will create two folders named “bd_m_1401-partsbnd-dcx” and “bd_m_1711-partsbnd-dcx.” Each folder contains a .FLVER file (BD_M_1401.flver and BD_M_1711.flver) with all the mesh data.
You’ll also see .TPF files of the same name in these folders. TPF files contain all the model’s textures. To extract these textures, drag those .TPF files onto WitchyBND.exe. Doing so will create new folders (BD_M_1401-tpf and BD_M_1711-tpf) in the same folder as the .TPF files.
We now need to convert these .FLVER files into .FBX files. Open your Aqua Model Tool folder and drag each .FLVER file onto SoulsModelTool.exe. Doing so will generate new .FBX files inside the same folder as your .FLVER file.
Part 2: Blender
Open Blender and import the Confessor Armor .FBX file (BD_M_1401.fbx). On the Confessor Armor, you’ll notice some straps on the shoulders that will likely poke through a Finery scarf and thus should be removed. These straps belong to a mesh named “belt.”
In the outliner, open the Spine armature and look for the mesh named “mesh[3],” the mesh that corresponds to “belt.” Rename mesh[3] to “Belt” (i.e. the mesh’s material name) and delete all the other Confessor Armor meshes. With Belt still selected, go into edit mode and delete the shoulder straps. After editing the mesh, delete the BD_M_1401_model empty object. Export everything as an .FBX file and name the .FBX file modded_belt.fbx.
Now create a new Blender file and import the Finery mesh (BD_M_1711.fbx). The scarf meshes are mesh[17] and mesh[18], with mesh[18] being used when a player wears a helmet and mesh[17] when a player does not. Rename mesh[17] and mesh[18] to “#32#” and “#33#” (i.e. their material names) respectively and delete the other 17 meshes that came with BD_M_1711.fbx.
When we exported to modded_belt.fbx, we not only exported the Belt mesh but also the Spine armature the Belt mesh was attached to. Unfortunately, we won’t be able to do the same for the scarf meshes. It might have to do with the fact that the scarves come from a different model, and thus have a different Spine armature compared to the Confessor Armor’s Spine armature, but I’m not sure if that’s the main reason. What is certain is that if we export the meshes with the Finery’s Spine armature, the scarves will appear glitched in game. Therefore, the armature we will be using (“skeleton”) will come from the ER_Base_Male.blend file I posted earlier.
In Blender, go to Append and open ER_Base_Male.blend. Inside the Blender file, open the Object folder, select the object named “Body” and press Append. Upon appending, you’ll see a large sphere mesh on your screen named “smd_bone_vis.” Delete this sphere so you can see the base male player mesh. With the skeleton armature selected, go to object properties and, under transform, set the X rotation to 90°. If the armor appears backwards on the ER_Base_Male.blend body mesh, delete the imported mesh, open SoulsModelTool.exe, uncheck the “Fix FromSoft Mesh Mirroring” option and re-import the .FBX again.
The armor meshes are still hooked to the Aqua Model Tool Spine armatures. To get them pointed at ER_Base_Male’s skeleton armature, go to each mesh’s Modifier Properties and change Object from “Spine” to “skeleton.” You do not need to change the modifier name.
With your meshes pointed at the skeleton armature, we now need to separate the scarf meshes from the Spine armature. To do so, select the two meshes and press Alt+P. Doing so will bring up the Clear Parent menu. In the Clear Parent menu, select the “Clear and Keep Transformation” option and click in the Layout workspace to apply. From here, you can now delete the Spine armature, as well as the ER_Base_Male body mesh.
Export the scarf meshes to an .FBX file and name it modded_scarf.fbx.
Part 3: FLVER
Before we import our .FBX file, let’s first look at our mesh’s MTD files i.e. material definition files. First, open BD_M_1711.flver with Pear’s FLVER Editor and click on the Materials tab. Scroll down to #32# and #33# to see that the MTD path for both scarf meshes is “N:\GR\data\Material\mtd\Parts\matxml\P[BD_M_1711]_FabricAdd.matxml”; the stuff after “…\matxml\” will be important when we import the .FBX file. Now open BD_M_1401.flver and click on that .FLVER’s Materials tab. Looking at the belt entry, we see that the MTD path is “N:\GR\data\Material\mtd\Parts\matxml\P[BD_M_1400]_Belt.matxml”.
With BD_M_1401.flver still open in the FLVER Editor, go to File -> Model -> Import. In the Open FBX File window, go to where your exported your .FBX file and select (don’t double click) modded_belt.fbx. Remembering what we saw in the materials tab, set MTD Selector for Belt to P[BD_M_1400]_Belt.matxml. Afterwards, click the “Open” button to import the modded_belt.fbx. Do the same for modded_scarf.fbx., but this time for meshes #32# and #33#, set MTD Selector to P[BD_M_1711]_FabricAdd.matxml.
In the Mesh table, select and delete the the original “Belt” mesh (index 3). Then adjust the scarf meshes so that they don’t clip through the Confessor Armor; for me, I moved the meshes +1 in the Y direction.
Let’s return the Materials tab. Make sure the Model Mask values for #32# and #33# are 32 and 33 respectively. You’ll also notice that the MTD path for the imported meshes lack the full MTD Path the other meshes have. This is fine. Now save the .FLVER file.
With the .FLVER saved, the scarf meshes will now be referencing textures from the Merchant’s Finery. However, we still need to pack those Finery textures into the same TPF file as our Confessor Armor textures. To do that, go to your BD_M_1711-tpf folder, copy the three .DDS files inside that folder and paste them inside your BD_M_1401-tpf folder.
With the .DDS files copied, we now need to edit _witchy-tpf.xml, the XML file that will instruct WitchyBND which .DDS files it needs to pack when creating the .TPF file. In your BD_M_1711-tpf folder, open _witchy-tpf.xml and copy the highlighted block of code:
Return to the BD_M_1401-tpf folder, open that folder’s _witchy-tpf.xml file and paste that block of code between the <textures>
(NOT <texture>
) tags. BD_M_1401-tpf’s _witchy-tpf.xml file should now look like this:
Drag your BD_M_1401-tpf folder onto WitchyBND.exe to create your new BD_M_1401.tpf file (file size ~18MB). Then drag your bd_m_1401-partsbnd-dcx folder onto WitchyBND.exe to create your new bd_m_1401.partsbnd.dcx (file size ~12MB).
Inside the Grand Merchant folder, create a new folder named “parts.” Inside “parts,” copy and paste your modded bd_m_1401.partsbnd.dcx file that you created with WitchyBND. To load Grand Merchant into ModEngine2, open config_eldenring.toml in a notepad program and scroll down to around line 29. Assuming your Grand Merchant folder is inside the mod folder, make sure your block of code look like the following:
mods = [
{ enabled = true, name = "default", path = "mod\\GrandMerchant" }
]
Launch the Grand Merchant mod by clicking on launchmod_eldenring.bat. If it’s not already in your inventory, buy the Confessor Armor from Kalé. Now, when you equip your Confessor Armor:
Because we moved the Finery scarves up by 1 in Pear’s FLVER Editor, many helms, especially those with scarves themselves, will clip through those scarves. The scarf meshes can probably be sculpted so that they can fit on the Confessor Armor without the need to move them upwards. However, for the sake of brevity, I won’t be going over that stuff.
To summarize:
- Unpack .DCX and .TPF files with WitchyBND
- Convert .FLVER files to .FBX files with Aqua Model Tool
- Import .FBX files into Blender and delete irrelevant meshes
- Edit meshes in Blender
- For meshes from another .DCX file, append the body object from ER_Base_Male.blend and delete the smd_bone_vis sphere
- Make sure under for each mesh’s the Armature Modifier that the Object option is pointed to the skeleton armature from ER_Base_Male.blend
- Disconnect target meshes from Spine armature with Clear Parent command
- Delete Spine armatures, body mesh and empty objects
- Export to .FBX
- Open .FLVER file with Pear’s FLVER Editor
- Import .FBX files, making sure MTD Selector is pointing to the correct MTD
- Delete any meshes that you’ll be replacing
- Make sure MTD paths and Model Masks are correct
- Place all .DDS files into the same TPF folder
- Edit .XML inside TPF folder to load all neccesary .DDS files
- Create new .TPF and .DCX files with WitchyBND
- Place new .DCX file into your mod’s parts folder
You can see a scarf-topped Confessor Armor in the video below, starting at 5:05:
You’ll notice that I’ve made further changes to the Confessor Armor so that it resembles the Halberdier’s armor from Age of Empires II. First, I recolored the leather flaps and scarf by following this guide from HonorKinght26. Then I removed the Chain_Cloth mesh so that chain patterns won’t appear in front of the leather flaps.
Part 4: Notes
Some of this article was based on this video tutorial from Scrub Milk. Special thanks to jessieli4944, who pointed out in the comment section to make sure that the Object option in the Armature Modifer is pointed to ER_Base_Male’s skeleton armature.
If you hook the Confessor belt mesh to the ER_Base_Male skeleton armature instead of the original Spine armature, the belt mesh will still fit on your player character. However, it will move out of sync with the rest of your character.
The interiors faces of the Finery scarves have backface culling.
The FLVER Editor, on the other hand, disables backface culling for imported .FBX meshes. To enable backface culling, select meshes #32# and #33# and check the Toggle Backface Culling box. After checking that box, save your .FLVER file.
We probably don’t want to enable backface culling for our example, though. These scarf faces were chosen to be backface culled because they were flush to the Finery shirt. If placed on another armor mesh, it’s not guaranteed that these faces will be flush to the new mesh. Therefore, to play it safe, backface culling should remained disabled so that the meshes will be visible regardless of viewing angle.
This tutorial will probably not work if you’re trying to import meshes that contain cloth physics such as capes or dresses. To see if your mesh has cloth physics, search for “cloth” in Blender’s outliner search box. If you see vertices with “[cloth]” in their names, then said mesh has cloth physics. Unfortunately, I haven’t figured out how to deal with cloth physics. Therefore, I recommend for any armor you’re planning to import that you simply delete all meshes with cloth bones in Blender.
For example, in the video below, I recreated the Two-Handed Swordsman armor from Age of Empires II by importing Knight Armor meshes into the Gelmir Knight Armor (see 8:12). When creating the custom Knight Armor mesh, I deleted the metal and fabric flaps on the Knight Armor in Blender, two meshes with cloth bones.
If you do still want to deal with cloth physics, though, these tutorials from Scrub Milk might help you out:
Because these videos were uploaded only a few months after Elden Ring’s release, there are a few outdated things in them. Therefore, when following these videos, remember that
- Aqua Model Tool instead of BBTool should be used to convert .FLVER files to a Blender-readable format
- WitchyBND instead of Yabber can be used to pack/unpack .DCX and .TPF files
- Pear’s FLVER Editor instead of the older Forsakensilver FLVER Editor can be used to delete meshes and edit MTD paths
Also note that with Aqua Model Tool, bone names already have “[cloth]” in their names, so you don’t need to go through the renaming process. The reason we need to rename bones with BBTool is because .SMD files cannot handle bracket texts (h/t Shadowth117 in the ?ServerName? Discord server).