Home Technical Talk

(3DS Max) Skin mirror mode weighs vertices to wrong bone

polycounter lvl 6
Offline / Send Message
Geosmith polycounter lvl 6
Quick introduction: Hello, it's long past due that I sign up to Polycount, but a problem I'm having has made me finally do it and I know no place like Autodesk forums or something will solve my problem.

Anyway, I'm trying to create a set of first person arms and not having too much rigging experience I've ran into a problem with mirroring the weighted vertices from the left arm to the right. The problem is when I mirror, most of the bones on the right arm end up being weighed to the right bones correctly as far as I can see, but some vertices particularly in the upper arm and in the hand get weighted to the upper left arm bone, completely to the wrong arm.

Just to clarify, I've made sure both arms have the exact same vertex count, the right being a mirror of the left and I've even tried to add a symmetry modifier right before the skin to make sure they're exactly the same. The arm is positioned exactly in the center of the scene, except for 10 units backwards which shouldn't have any effect on symmetry/mirroring. I've reset the Xform many times on the mesh itself but not the bones as they freak out so maybe that could be the problem? 
I've made sure nothing in the scene has any animation keys and that the animation slider is on 0. The bones in the right arm are also perfect mirrors of the left arm using the mirror mode in bone tools. Looking from an orthographic left view I can see that every bone and vertex is in the same position. I've tried mirror thresholds of 0.005 and 5 and it doesn't make any difference. 

I've exhausted all the options I can think off, anyone have any ideas?

Replies

  • sergsse
    Options
    Offline / Send Message
    sergsse polycounter lvl 6
    Most likely it is too late for you but maybe this will help someone else as I was struggling with the similar problem. This happens because sometimes 3dsmax can't recognize which is the mirror bone so it picks the same one or a wrong one. In mirror mode you can see blue, green and red bones and red ones are those who haven't found a pair. So this is what you need to do:
    1. Ensure those bones are exactly opposite to each other (same Y and Z but X1 = -X2)
    2. Ensure they have a corresponding hierarchy with the same middle bone (like spine, pelvis, head) and EACH of them INCLUDED into skinning bones list even if it has no weights
    3. Export envelopes (Advanced parameters -> Save)
    4. Delete Skin modifier
    5. Add new skin modifier and all bones
    6. Load envelopes (Advanced parameters -> Load), don't forget to match bones by names and ensure you have the same bones list
    This will make 3dsmax tp refresh it's vision regarding the bones correspondence so you can now try mirroring again
    PS: not sure if this is important but just in case keep the relevant names like "arm_L" and "arm_R" but probably you already did it
Sign In or Register to comment.