#How to import/kitbash AC's in Blender?
1 messages · Page 1 of 1 (latest)
Hello. I have some experience on this topic. You need quite a few tools, but it isn't that difficult, just a little tedious.
I'm familiar with basic kitbashing and basic bone editing, but I haven't touched animations or anything so I don't know what to tell you about adjusting the general size of playable AC's in such drastic fashion. My bread and butter for my mod projects is just introducing amateur/debug-testing level models into the game, but I can run you through the entire process of custom parts with their own garage entries and statistics data with their own custom models up to that point. More complex things like animations or in-depth armature editing is up to you, but I'll share what I know.
Let me jog my own memory and I'll get you started
Okay, the most important tools you need are called...
- Smithbox (not technically required just for model editing but highly reccomended, it's great for finding model ID codes and so on for our modelling purposes)
- UXM selective unpacker (for extracting original models from the game data)
- WitchyBND, for handling FROM's proprietary file formats like ".tpf" and ".dcx".
- SoulsModelTool, for handling .FLVER's, which are the proprietary model format that FROM uses for ac6.
- Blender, for doing model stuff. Looks like you have this already.
- FlverEditor, for re-injecting stuff into the game when you're all done.
Additional:
7. Paint.Net, that's what I'm currently using to handle some texture stuff outside of and with Blender's texture paint options.
You can find all of these in #tools-and-resources (or on the general internet for Blender and Paint.Net)
@cobalt light Is there a particular project you'd like to do first?
Thanks for your reply! What I'd wanted to do was kitbash on top of the Metal wolf Chaos mech, using parts from other AC mods.
Sorry, it seems I forgot and went to bed.
Well, if this is a pre-existing mod (I believe you're talking about this one), and you just want to use modded files, these modded files are already extracted from the game, so you can skip UXM selective unpacker, but you'll still need WitchyBND and so forth.
@cobalt lightAlright, the basic idea is to extract all of the model's data of all of these models using SoulsModelTool, which will get you .fbx's. We open up the .dcx's (FROM's proprietary file package format) using witchyBND, and then we find .FLVER's inside, and then we can turn those into .FbX using soulsmodeltool, which Blender can successfully import.
I'll use the Metal Wolf Chaos mod's files as a demonstration.
Here, we use WitchyBND on these .dcx files. The ones with _l in their names are the 'low res' options. These aren't strictly required (you won't break the game or anything), but some parts of the AC garage will look funny (they're used for the save data images). AM is Arm, bd is body (core), hd is head, and lg is leg.
As you'll note, these replacer the vanilla ORBITER set, so these have an ID code of 1400. If you want your new part to be a different part entirely in the garage, you'll need a different ID code of course. From my own experience, any 4 digit value is acceptable as long as it isn't being used by another model. I prefer appending +1 to anything, so if I make a part based off of the ORBITER set, I would have it with an ID code of 1401. But, that's just what I do.
Anyway, let's open up one of these with WitchyBND...
Personally, I reccomend doing the head part first because these don't have a lot of articulation and all that sort of stuff. If you installed WitchyBND properly with shell integration, you'll get a special right click menu like this. Otherwise, you can drag and drop these files over the program .exe of WitchyBND itself.
here you'll find the .flver and .tpf. Respectively, that's the actual model data and the texture package. The anibnd is animation related stuff, I believe, but I don't touch those so, y'know, I'm not 100% sure. If this was another body part, you would also recognize an .hkx file which has to do with rigging and armature related stuff. If you want to edit bone data (so how your AC parts are proportioned), you want to modify those .hkx files. As implied, the stuff for the head is actually handled by the core.
Anyway, we get to the .flver and we use SoulsModelTool on it. I've got it set up to get a right-click menu too. Run this bad boi and you'll get an .fbx and some other data (which we don't actually need for this purpose, but you can look at them if you want.)
We can import the .fbx into blender as normal, and I personally reccomend using the following settings and Standard Operating Procedure:
Create a new collection exclusively for your part with a suitable name (if this was the vanilla orbiter/FINDER-EYE head I would personally call it 1400 FINDER EYE as an example),
You'll note we have the actual head part, a marker, and a lot of bone armatures, The marker (here as MetalWolfHD_model) can be safely deleted and ignored.
Generally speaking, the import/export process into blender can have a lot of minor fuckups, so one thing I like doing is to select everything with (A) in object mode, and then "Apply all transforms". This helps with a lot of floating point stuff which can be annoying. It's not important, but it helps me, so it might help you.
Anyway, for our purposes we can hide the armatures (click the little eyeball in the outliner menu up there at the top right). Afterwards, we can go into Edit Mode.
We'll note that this head is divided into 3 different blender objects: Glow, mesh 794, and mesh 794.001. Not sure why KRDCD would do it like this, but it's not a major problem. Glow is obviously the glowing eye parts and so forth, and the mesh 794's are the main body. Personally, I divide every AC frame part model into 3 parts similarly, yet with the 3 models being Frame, Glow, and Decal. Sometimes different body parts have different requirements too. As an example, arm parts are actually 6 different models with left-arm and right-arm variations of course. Cores have the Core Expansion (the bit that expands outwards during assault boosts and Core Expansion attacks) as a 4th model.
Anyway, let's do some minor Blender side cleanup. You'll see that by using Select Linked (hotkey 'L') that basically every face of an imported model is its own sub-mesh geometry. (picture A)
We can solve this relatively elegantly with vertex groups and merge by distance, in most cases. (picture B)
Just select everything assigned to that vertex group using the button provided and then go into Mesh->Cleanup->Merge By distance, with the 'sharp' option being set to ON. (picture C and D)
It still looks a little funny to me, so feel free to re-calculate the normals and change which edges are marked as sharp or not to taste. I will leave this as an exercise for you. the auto-recalculation of Normals can be found under Mesh->Normals and sharp edges (the blue lines) can be found under Edge, of course. If you aren't aware, you can look up blender functions using the hotkey F3.
For our kitbash demonstrational purpose, I'm gonna do something simple and adjust the ears. Moving things and rotating things around don't really interfere with the UV maps (textures), so should be 100% safe in basically every purpose.
for exporting, these are the settings I'm using here. As an additional, review the collection settings: I put individual AC parts and kitbash materials inside their own Collections so I can selectively import specific collections when I'm all done. I'll tell you more when prompted.
Now, for actually importing back into the game, what I like to do is to re-use the .dcx we already have. Again, if you want it as its own new part, I reccomend already having this as a new .dcx with its own ID code. All you really need to do is go into the WitchyBND settings .xml in the folder you made when using it the first time and change the data related to how the folder is turned into a .dcx again. I'll give you the deets on that when prompted as well, but we'll be skipping that for now and focus on the good stuff.
Anyway, when FLVER editor opens, we'll have something like this. The model is a little transparent cause of a KRDCD trick, let's not worry about that for now. We go into import, and we see this screen where we need to select MTD data. Let's just use the MTD data of hd part 1010, (the melander head parts), which is what KRDCD has already set his OG version of the model to use.
Be careful not to hit 'enter' (in picture C), the program is a pain in the ass and will auto-complete with default MTD sets!
So, what we want here in practice is for 'glow' to be set to "hd_m_1010 emissive" (as pictured in 'C'), and for everything else to be "hd_m_1010 cm" (as pictured in picture D)
When we're all done, we'll have our copy of the head overlaid in the viewport as shown... Down there. Don't worry, this is a common import/export error, I keep screwing with the settings on every program and it never works, but don't worry about it. We can solve it simply by selecting all of the sub-meshes in the editor view and hitting 'flip YZ axis" down there at the right..
Loading in, we can move the original head part's sub-meshes to the side by 100 units so we can take a look at our heads side by side. Looking good so far.
Now, this is sometihng I like to do, but let's save our work from here (after we just imported and corrected the YZ axis of our modified head) and re-open the file we just saved. This helps 'refresh' the program and nip some display bugs which will be important later.
So, save from here, and then re-open the edited .dcx we just saved.
Now, let's do that material MTD stuff.
That KRDCD trick I mentioned is setting a texture to display in a part's texture slot 19 so that it actually shows up in the viewer for reference. Let's delete that for now to see the 'raw' model and compare it to our own.
(Materials, the first two mesh 794's, and then edit their textures, delete the things in the top-most slots, slot 19's)
With that out of the way, you'll notice the 'lighting' on our adjusted model is different. (picture B)
This is because the import/export stuff always gets a little fucked up, so in our case we need to flip our facesets. Go back to the mesh tab and select our 3 meshes, and hit 'reverse facesets'. In the viewer, you'll notice our model change a little, and when unselected, it'll have the same lighting just as the OG (picture 'D').
This is why I insist on saving and reloading the file to 'refresh' the program, for some reason you can't properly see the facesets if you import a model and try to change it on the same 'session'. Not sure why...
So, we can finally finish this stuff by going back to MTD's and naming the files. In this instance, we can just refer to the original 3 meshes and copy what they have.
Once all that is done, we can safely delete the original meshes and their material data and see what happens when we load this into the game.
@cobalt light Sorry if none of this makes sense, I'm half awake and all. Relatedly, feel free to @ me or DM me at any time to your tastes, and I'm always available to share what I know.
You did a great job! i'll try this out tomorrow, thanks again!
Hope it helps. Don't thank me until it does, huh?
Tried dragging the dcx to Witchy's EXE, but it's giving me an error saying the oodle DLL is not found?
Never heard of this error before... where did you get your WitchyBND?
Confirm you're running the latest .NET framework stuffs. ALso try re-installing the latest version from https://github.com/ividyon/WitchyBND/releases
still the same thing. Could I have missed something with the unpacker?
You'd best @ me, I keep forgetting to check this thread.
Anyway, let me look around and jog my memory and I'll get back to you. Taking the error it gave you literally, it seems like I forgot a step where you need to find that .dll in the game's folder and provide it to WitchyBND.
Looks likei t. Copy this file and place it in the WitchyBND installation.