Specific Skeletal Mesh Import Question

Hi guys, I got a very specific question now that nobody could answer so far. Quite unusual for this type of knowledge to be so hard to access :confused:

Currently the engine fbx importing prunes bone weights lower than 0.01 and complete reforges the skinning … That really messes up skin weights on highres meshes with detailed bone rigs.
Is there a way to lower that threshold to something else like 0.001 instead, or deactivate that “feature” completely? Is it some flag in a .config file?
Can you help me or connect me with someone at epic that knows?
Thanks,

-S

Just to clarify, are you saying that the FBX import Disregards bone weights lower than 0.01 and considers them as zero?

For the record bone weights of 0.01 are already so low as the effect on skinning would be near identical to zero, unless it is a very special case and there are multiple shared vertices per bone with a certain value of that sort that may provide a visual difference. Usually we zero out all weights that are near zero value just to be safe in regards to bone influences. But i’m curious to know more about your issue.

I have a very complex bone rig on a very highres mesh, it was quite tricky to paint it keeping 8 max weights up. These meshes and deformations need to be this detailed as closeup characters will be seen quite a lot in this game.
Some auxiliary bones have a very very detailed skinning where even weights of 0.001 have been purposedly painted.

Skinning with 8max influences considered but low weights threshold of 0.001

https://dl.dropboxusercontent.com/u/25584030/armPoseskinNrm.PNG

Same skin but with 0.01 pruned instead:

https://dl.dropboxusercontent.com/u/25584030/armPoseSkin01.PNG

We are also evaluating other solutions such as more optimized topology and morph targets to take care of that level of deformation, but the current pipeline is setup like this and works pretty well except for this small little issue. A simple flag where user can set that threshold value himself would be all I want.

You can compile a code version of the engine and edit the minimum weight in SkeletalMeshImport.cpp. There’s a constant there with the minimum weight.

Thats the precise information I needed, tanks a bunch.

Hi Adeptus, did you have any luck with this? I attempted to set the constant (MINWEIGHT) to 0.001 instead of 0.01 and recompile, but ended up getting very screwy results, with occasional individual vertices way out of position.

Anyone tried this successfully?
I’ve changed the Minweight to 0.001 and now I get bad distortions everywhere, no matter what triangulation option I choose in blender.

What could cause this and how to overcome it? Is there anything else in the source, what I’ve got to change beyond the minweight?

It’s probably better to leave the min weight as it is and fix the weights themselves in Blender, normalize (and or clean) should fix the weights.