Website Youtube GitHub

Issue with export skin rool


I have an issue using mGear export skin tool.
After exporting skin to json file, skin weight changed. (see attached pic)

The skin weight was done by using ngSkin tool.
I delete all ngSkin tool costum node and normalize skin weight before export it.
Maya version is 2019.1

Thanks for any help!


Oh by the way,the mGear version is 3.2


Hi Arthur,

Would you be willing and able to share the file for testing, possibly including the ngSkin layers?

(If possible, a version before you deleted ng, or at least a version where the skinning is still correct.)


Also one more question.

Does the weight actually change directly after you run the export skin command? Or does it change when you import the data later?

When you still had ngSkin data on the mesh, did you ever do any Maya skinning commands, like normalize or pruning or any Maya weight painting? If so, the weights can become out-of-sync. And then the next time the weights are edited or updated, they can pop into a new position.

To test that theory, you could follow all your same steps, but before you export skin, you could try flooding smooth of 0.0, so it has zero effect, but it updates the weights. And you might see it pop in the same way. Although… if that were true, you probably should have seen it happen when you normalized. So this is not likely.

(I’m not ruling out a bug with the mGear skin tool. I’ll check that. I just want to rule out any other potential bugs too.)


It looks as if all weights are rigid as if the skincluster is actually rigid or max influences of 1.
Perhaps ngSkintools ignores those settings but the skincluster settings after import forces it to be rigid again?


Yes, ngSkin will definitely ignore that setting. I’m testing it now with maintain max 1 influences, and after you delete the ngSkin nodes, Maya does not automatically revert to max 1.

Although when I normalize, some of the weights mess up, but the verts still have multiple influences.

After deleting ngSkin. Before normalization.
After importing the weights again. First they look good. Then after normalization, the maintain max setting starts to interfere again.

So… first of all @Arthur.C the first thing to try is:

  1. Make sure you do NOT have maintain max influences on. If you do need to have a maximum, turn it off in Maya, but use ngSkin’s version of that setting. Never ever trust Maya to do it. The ngSkin version of max influences updates procedurally. It lets you see the results as you paint, without destroying your skin data.
  2. It is really truly not necessary to normalize weights before you export. Unless you have some normalization errors that you need to fix. But you shouldn’t have to if you are using ngSkinTools. It will normalize for you.
  3. It is not necessary to delete the ngSkin nodes before you export using mGear export skin. Miquel mentions it in one of the videos to be safe. But the data exports just fine even if you have the ngSkin nodes on your geometry. ngSkin renders down to valid skinCluster data.

After you try this stuff, if you still have bugs, I’ll still help you find it, if I can.


Hi Chris,
My skin weight changed immediately after running the export skin command. I did maya normalize command “After” delete ngSkin data.
I check my initial bind skin setting in maya. I’ve set it to max influence to 1 and maintain max influence in ON.
I’ve read the all steps you mentioned.
Finally resolved the issue by “disable maya weight normalization” before running mGear export skin data. (I did delete ngSkin node before export but not running maya normalize skin weight command as you mentioned.)
After import mGear skin data to mesh using post script,the skin weight is still good even I turn on maya skin weight normaliztion afterward.

Thank you guys for your help !


Hi @Arthur.C

You should turn normalization back on. You want that.

Do NOT turn on maintain max influences to 1. Turn that off! That is the cause of your problem.


I agree with Chris.
Having Max Influences turned ON isn’t of any big use when doing work that stays in Maya. This is only relevant when doing game work or anything rigging related where you are constrained by a system that has a maximum influence supported like some game engines.