Transferring Dangle Bones

How to transfer physics from one mesh to another for cross-rigs refits. 🦴

Summary

Created & Published: August 2024 by PinkyJulien (Original link)

This guide won't go over how to port or refit a garment, or how to create and pack a mod.

I assume you're already familiar with WolvenKit, Blender, and how to navigate both softwares; if not, I recommend checking the other guides available in the Modding Wiki!

Transferring dangle chains from one rig to another won’t be perfect; depending on the rigs, it might create a more-or-less visible offset (stretching and/or floating). In my own experiences, transferring dangles from WA to MA seems to be ok; MA to WA should also be ok.

For a precise and proper transfer, refer yourself to Eagul’s tutorial on Moving a Dangle Chain

Requirements


🟦 Preparing our files in WolvenKit

I’ll first gather the files that I need as I would for a regular refit.

I search and add Claire’s pants to my project; I also add its animgraph and rig for later, since this particular garment has physics!

I then grab the PMA tight T-bug netrunner suit, this is the garment I use the most for my WA > MA garment refits because of it’s full body rig and good armpits/crotch base weights.

I export both meshes to GLB, ready to be imported into Blender.

Before starting on the actual 3D refitting, we need to prepare our PMA mesh container; for now, it doesn’t have any of the necessary bones for Claire’s pants physics to work, and we won’t be able to import it (wKit will throw an error mentioning the missing bones!)

Open the garment with physics that you want to transfer; in my case, Claire’s pants, and open the boneNames list

You’ll need to find the “DYNG” bones; these are the physics bones!

Take note of the entries numbers, this is really important For Claire’s pants, the DYNG bones are the entries 38 to 51

I’ll now delete everything that ISN'T a dyng bones; simply select the whole list above the first dyng bone entry, right click and pick “delete selection”

The boneNames list now only has the dyng bones!

We need to do the same for the boneRigMatrices, boneVertexEpsilons and bonePositions lists

As we noted before, the dyng bones start at the entry number 38; I will select and delete the selection from entry 1 to 37 in the boneRigMatrices list

Same deal in the boneVertexEpsilons list right underneath

A good indication that you did everything right is checking the number of entries between brackets; in my case, everything is at 14, meaning I did not mess up!

One last list we need to edit is hidden deeper in the mesh data

Scroll down and open up the renderResourceBlob expand the header and finally the bonePositions list

Just like the other list, I’ll go ahead and delete the entries 1 to 37, keeping only the entries 38 to 51 = the DYNG bones

Now that we isolated the DYNG bones, we can now transfer them to our PMA container, in my case the tight netrunner suit!

We simply need to copy the entries from the boneNames, boneRigMatrices, boneVertexEpsilons and bonePositions lists from our physic source mesh, Claire’s Pants, and paste them into our target PMA mesh’s corresponding lists

You can (and should) scroll down the list to check if all of the DYNG bones are correctly pasted into your container :3

Everything’s correct! Do the same for the other lists until and make sure they have the same numbers of entries

Once that’s done, don’t forget to save your .mesh!

🟦 Transferring Bones in Blender

Now that our mesh container is ready, we need to refit our model and transfer the dyng bones from the WA rig to the MA rig 👉

I’ll skip the refitting part; I’ll also assume you know how to rig transfer a WA mesh to a MA rig (if not, check out my Rig Transfer tutorial here)

Before transferring the weights from your PMA source to the rig transferred garment, I recommend locking the dyng bones vertex groups to make sure they won’t lose their assigned weight values when you transfer the weight from your MA source!

Once the 3D refit is done and the weights are correctly transferred, we need to transfer the dyng bones from the WA armature to the MA armature

Select your source garment -Claire’s pants- armature and enter Edit Mode

Expand the Armature list and select all of the dyng bones

Place your cursor in the 3D viewport and press P

A pop up window will appear to confirm that you want to separate the selected bones; simply click on it to confirm

The dyng bones are now isolated in a different armature!

You can safely delete the original Claire’s pants

You now have the isolated DYNG bones armature and your Male Rigged garment with your refitted garment

To merge the two Armatures, simply select the dyng bones armature and CTRL+click on the PMA armature (the lightblue selection will receive the darkblue selection(s) when merged)

Then place your cursor on the 3D viewport window and press CTRL+J to merge

And that’s it! Your MA rigged garment now has the proper physic bones

Save your refit over the MA garment .glb file; it should have the same emplacement and name as the container we previously edited by adding the dyng bones to its data

🟦 Test your Refit in game

Import it with wKit import tool as you would any regular refit; no need to select any rig or any special option; if the bone transfer was done correctly, you shouldn’t run into any errors!

You can now grab your newly imported mesh and test it

Don’t forget to set up the animgraph and rig in an animated component for the physic to work in game! You can copy/paste the components from the original garments files

Last updated