This is a continuation of and update to this post here - https://cohost.org/Thearmordines/post/1214293-elden-ring-model-exp
PART 1 - MODELS
This part will go over the process of importing a model into blender. I'm going into this again because there have been some new tools released since I made the first part which make the process of extracting models much easier and more foolproof (as a professional fool, this is always good news).
- Programs and Links-
-Blender : https://www.blender.org/download/
-UXM (For unpacking FromSoft game Data files) : https://github.com/Nordgaren/UXM-Selective-Unpack
-WitchyBND (For unpacking other FromSoft file formats.) : https://github.com/ividyon/WitchyBND/releases
-Aqua Model Tools (For extracting FromSoft models and textures) : https://github.com/Shadowth117/PSO2-Aqua-Library
-Unpacking Files, Extracting Models and Textures, and Importing Into Blender
So the first thing you'll want to do is use UXM to extract all of the game files from the packed data files inside the game's directory. Just open the program, point it to the executable for your game and click unpack!
After it's finished you'll have a bunch of new directories in your game folder. The one we're interested in is the chr folder, as this holds both the character models and textures for them.
Inside the two types of file we want are chrbnd.dcx and texbnd.dcx, which hold the model and textures for each character, respectively.
These files are all named after the character's internal ID, so you'll want to go here ( http://soulsmodding.wikidot.com/reference:main#toc7 ) and open up the character IDs sheet listed to find the ID of the character you want to extract. For this post we'll just be using Blaidd, whose ID is c2010.
Now you need to take the two files for your character (in this case : c2010.chrbnd.dcx and c2010.texbnd.dcx) and drag them onto your WitchyBND executable. This will open a window and automatically extract the files into new folders.
Inside these new folders there are once again two types of file we're interested in. For the chrbnd folder, inside will be a .flver file. This is the model. For the texbnd folder, there will be a .tpf file. This contains the textures for the model.
You can extract both of these with Aqua Model Tool. Just go into your Aqua Model Tool directory and open up SoulsModelTool.exe. There are a few optional things you can tick for extracting models, including an option to fix FromSoft Mesh Mirroring. If you're just planning to use the model in blender you should tick this, since otherwise the model will be inverted on the X axis.
After that just go into file and click the Convert FromSoft model, TPF, or Archive option, and select the .flver. Repeat this for the .tpf file as well. This will leave you with a .fbx file and all the textures in .dds format. I'll focus on textures in the next part of this post, so for now let's just worry about the model.
Thankfully with Aqua Model Tool there's no need to mess around with editing anything after creating the .fbx file like in my previous post! The tool exports the skeleton and all UV maps the model contains perfectly.
All you need to do now is open up Blender and import your .fbx file! The bones on the skeleton will likely be blocking your view of most of the model, but you can simply click on the skeleton and go into viewport display to fix this. Just change it from Octahedral to Stick for easier viewing.


And that's it for model importing! Much simpler than the process I was using before haha
PART 2 - TEXTURES
This part will go into detail about FromSoft's texture formats in Elden Ring and how to apply them within Blender. I'll also be going over my methods for getting them to match as closely as I can to the in-game texturing. This part will assume you have some basic knowledge of how Blender and materials work.
-Programs and Links-
-Notepad++ (For opening .xml files) : https://notepad-plus-plus.org/downloads/
-Paint.NET (For opening .DDS files) : https://www.getpaint.net/
-From's Texture Formats-
Alright, so now that you have the model you've imported it's time to set up materials! FromSoft uses some somewhat unusual formats for a few of their textures, but here's the important bits.
- TEXTURE_A.dds - These are albedo or color maps.
- TEXTURE_M.dds - These are metalness maps.
- TEXTURE_N.dds - These are normal maps. These also contain both the shininess map in the blue channel and a mask map in the alpha channel.
-Setting Up The Material-
So let's assemble a basic material! We'll be using Blaidd as an example once again.
So the very first thing we'll want to do is open up each of the .dds files we want to use in Blender with Paint.NET and save them as something like .png or .tga, since Blender doesn't recognize .dds image files. After that we can start assembling the material itself.
Thankfully FromSoft tends to name their textures after which part of the character they apply to. Using Blaidd as an example, every texture with c2010_HD in the name applies to the head material.
FromSoft tend to use a lot of different materials for every different part of the character, for example Blaidd's head is separated into two different materials for his skin and for his eyes and the inside of his mouth.
Unless you're trying to be extremely accurate to the in-game materials with detail maps and all that (I'll go a little into those later on) all you should really need to worry about is having one material for every set of textures.
Now for setting up each material, the process will generally be this -
Using a Principled BSDF Shader (The material should be using this by default) take TEXTURE_A and plug it into the Base Color slot. Additionally, if the texture is partly transparent then plug the Alpha into the Alpha slot. Be sure to go into the material settings and set the blend mode to anything other than Opaque
Then if you have a TEXTURE_M metalness map plug it into the Metallic slot (I also set the color space to Non-Color for this texture, though I'm not sure if it's required for this one)
Then the complicated one, the dreaded TEXTURE_N normal/roughness/mask map.
For this one first set the color space to Non-Color, so it will render correctly.
Then you'll want to plug it into a Separate Color node.
Then plug the Red channel from that node directly into a Combine Color node in the Red slot.
Take the Green slot from the Separate Color node and plug it into an Invert Color node, then plug that into the Green slot of the Combine Color node. (This is because FromSoft normal maps have the green channel inverted compared to Blender.)
Then don't plug the Blue slot into the Combine Color node. Instead simply set it to 1 on the node itself. (This is because FromSoft normal maps use the Blue channel for Roughness.)
Then take the Combine Color node and plug it into a Normal Map node and plug that into the Normal slot on the Principled BSDF node.
After that, take the Blue slot from the Separate Color node and plug it into another Invert Color node, then plug that into the Roughness slot on the Principled BSDF node.
For most materials, you shouldn't have to worry about the alpha of the normal map, which is the mask channel. These are mostly just used for masking detail textures and such on certain models.
Now set the Specular slot to 0.5 on the Principled BSDF node, and if you don't have a metalness map then be sure to also set the Metallic slot to 0.
With that, the basic material setup is finished, and you should have something that looks like this -


Now just repeat that process for each material until the model is fully textured!
Additional Notes
Now this is just the very simplest setup a material can have. Many models have some more complicated setups and will use textures that aren't included in the model's .tpf, including some of Blaidd's parts.
I'll use his hair as a quick example. His hair and fur materials actually use two different color textures, one for the hair shape and one for the hair color. The hair shape texture is actually located in the parts folder in the main directory, in a file called common_body-tpf.dcx. In this case, it's AAT500_Hair_02_a.dds and AAT500_Hair_02_n.dds. Many Elden Ring characters will also use textures from this file along with their specific ones.
The hair shape texture uses the third UV slot and is overlayed over the hair color texture, which uses the first UV slot. The material should look something like this -


Detail Textures
Additionally, Elden Ring materials make -heavy- use of detail textures, which are just additional color and normal maps overlayed onto the base textures to add more detail. These textures are all located in common_body-tpf.dcx.
These are a huge pain to try and figure out, since every material in-game uses different textures, setups, blending, and UV scaling. What you can do is go into the material folder in your game directory and unpack allmaterial.matbinbnd.dcx.
After that, navigate into the Chr folder and the matxml folder inside. Here you can find the materials used for every character. Take the .matbin file for the material you want to look at and unpack it with WitchyBND as well. This will give you a .xml file you can open with Notepad++.
At the end of these files will be a list of every texture used for the material, including detail textures. After that it's just sort of a guessing game with how exactly these textures are applied and overlayed. I mostly just compare with pictures taken in-game to try and get them close.
Unless you're a stickler for extreme accuracy, you shouldn't really need to mess with this too much, as it's a lot of work and can very quickly get complicated and messy with material set ups. I mostly just wanted to share what I know about them for those curious haha
END
With that, that's pretty much the basics of model extraction and applying textures! I hope this will prove useful to anyone wanting to extract and mess around with Elden Ring models!



