@mattmos
Here is a little Python snippet to create “tip” joints. Select the end joints you want to add joints to, and run this.
Then your default weights will be a little bit closer to correct. I set them quite far away, to make sure they don’t get any influence. Then I just delete them before exporting weights.
I do like Miquel says and use ngSkin to redo all my weights. But it is pretty necessary to add tip joints if you want to use the “Heat” method of weighting, which is pretty good for generating first-pass hand weights. Otherwise you get noodly garbage weights at the finger-tips. <
Shakes a cold fist at Autodesk!>
(I use heat weights on a duplicate geo, and then copy that as an ngSkin layer to my real geo, to skin my hands. Everything else I usually use ngSkin directly.)
import pymel.core as pm
tips = pm.selected()
distance = 8.0
for each in tips:
oDup = pm.duplicate(each, n=each.name().replace(each.namespace(), '') + '_TIP')[0]
pm.parent(oDup, each)
oDup.setTranslation(each.getTranslation(space='object')*distance, space='object')
oDup.radius.set(each.radius.get() * 2.0)