Fuse
Chronoloco Nov 10, 2013 @ 7:03pm
Maya Blend Shapes Breaking Rig?
I'll try to keep this short...
1. I created a duplicate of my character's head to use for Blend Shapes.
2. I created my auto-rig using the script.
3. My rig works fine by itself, but if I try to use my blend shape slider, then the character's head will morph the way it's supposed to (close eye, smile, whatever the case may be), BUT, the character's head ALWAYS moves back to looking forward (in it's original position) basically breaking it away from the auto-rig.

So what if I want to do something like, "look to the left, and then smile"? Or "look down and close eyes"... I can't do it, because the only way to change the facial expressions, is to have him look forward again.

As usual, I'm assuming that there is a simple solution here, that I'm just not experienced enough to know at the moment.

And for the record...
If I try to "Delete History", then that completely detaches my mesh from the rig.
If I try to "Delete Non Deformer History", then that deletes my mesh altogether. (Just the head & arms, NOT the clothes).

Not sure if that's related or not, but figured I'd throw it in there for the sake of being somewhat thorough. Hopefully the solution is simple here, but I just want to be able to have the rig work, AND have my blend shapes work, and have them coexist, without my blendshapes forcing my character's head to automatically look forward every time I change an expression.

Suggestions?
< >
Showing 1-10 of 10 comments
JustinP  [developer] Nov 10, 2013 @ 9:21pm 
Hey, just make sure when you apply the blendshape it's set to 'front of chain' under the advanced tab. Also the blendshape mesh needs to be duplicated from the model in it's neutral pose.
Chronoloco Nov 10, 2013 @ 9:49pm 
Yeah, I got the "Front of Chain" part right (wasn't 100% sure about that one, but that's what I used). Also, would you duplicate the mesh before or after applying the auto-rig script? Do you know if it makes a difference?

I duplicated the head in it's natural pose, and then pulled it off to the side, but I feel like maybe I'm messing up something, with the polygon mesh editing or whatever...

I've tried a lot of different things & orders, but nothing seems to work. (I thought maybe going to the Input Deformation Menu thing, and adjusting that might work, because my "BlendShape" is ABOVE my SkinCluster in that menu, and I read that it should be below it? But when I middle-click on it, and try to move it below the SkinCluster, I just get an error saying:
"//Warning: line 0: skinCluster5 is not deforming Mesh_polySurfaceShape2."

So I can't adjust the input order for whatever that reason is...

Also though, this is the exact order I'm doing things, and I think maybe it has something to do with the problems?

1. Import my character.
2. Use edges to wrap a ring around my character's neck, to basically decapitate the character... (trying to make this sound as exciting as possible, ha...) Go to Polygons-Edit Mesh-Detach Component... Click on the head again, to highlight the head (which still includes just below the decapitation point)... And then go to Polygons-Mesh-Separate...

Now I can select the head by itself, without the body...

3. Duplicate the head, and drag it off over to the side... (This will be my blendshape template basically). And then go back to the head, click the head, click below the neck, and then Polygons-Mesh-Combine.

So now I have my model still in tact (as far as I know? Maybe my "Separate" command earlier did more damage than I realize?) But it seems to be back to the way it was before, so now I run the auto-rigging script... (Should I have done this before doing any of the above actions? I have no idea...)

4. Just for the sake of demonstration purposes, I grab the floating head's nose, and stretch it like Pinnochio... (or make it smile, wink, WHATEVER...)

5. Click that head, and then click my model's head, so that they're both highlighted, go to Animation-Create Deformers-Blend Shape-Options...

Reset settings to make sure it's starting fresh... On the basic page I leave everything alone (unsure about "Check Topology", the tutorial said to turn that off, but since they aren't using your rig, I have no idea whether to leave it checked or not)... Everything else is unchecked, and set to "Local"... In the advanced tab, I have "Front of Chain" and that's it...

Hit apply...

6. Now I have my "Blend Shape" controller over on the side, and when I use the slider, BAM, his nose grows like Pinnochio... If I slide it down to reset it, then it goes back to normal... If it's set to "0" then I can use my rig like normal, no problems at all...

BUT...

If I push the blend shape fader up, so that his nose grows, and then try to turn his head to the side (or anywhere really)... Then his face/skin stays stuck, looking forward... But his eyeballs & teeth float out of his head in the direction I'm trying to turn his head...

Same thing vice versa... Turn the head, looks fine, but then try using the fader, and the skin of his face looks forward as the nose grows, but his eyes & teeth stay wherever the head rig is turned to...

I KNOW that the solution is RIGHT IN FRONT OF ME, but I can't figure it out for the life of me... Ha, I've been working on this for a few hours today (again, slower than most probably since I'm new to all of this) but I can't be THAT far off from making this work as intended, eh?

Any more suggestions?

Just for the hell of it, I tried then (after all of that) parenting the skin of the head/face to the bone at the top of the skull, just to see what would happen, and that just made his head pop off and fly 7 feet into the air or something... So that clearly wasn't the solution, ha... I'm hoping you'll see a glaring flaw in my technique here though, and be able to help me get this sorted out.

Last thing worth noting, if I click on my model's head (the one attached to the body) after doing everything above (minus the parenting the head to the skull bone) I undid that...

If I try to "Delete History" while the head is hilighted, then the rest of the body's rig works, and the teeth & eyes still follow the head rig, but the skin of my face just stays in place (so clearly deleting history detaches that somehow)...

If I try to "Delete Non Deformer History" instead, while the head is selected, then it makes my head (including eyes & teeth) as well as my arms disappear entirely.

If I had to guess, I would assume my "Separation" that I used at the start, killed everything for me... But if I don't use that, then my blend shape head, will have the arms attached to it when I duplicate it... So...

Thanks for all of the help so far! Your entire team is awesome.
Chronoloco Nov 10, 2013 @ 9:56pm 
Actually... I just tried doing it again, but this time, instead of "separating" I just duplicated the entire body mesh (head & arms), so that my blend shape character consists of a floating head & floating arms. NOW it works perfectly fine... That was simple enough...

And that's kind of cool too, because now, not only do I have blend shape control over the face, but I can use blend shape for arms too (not sure why I would ever want to, but something like, making a finger get longer via blend shape, etc...

I'm still curious though... If I wanted to do this, but ONLY wanted to use the head for blend shapes, and NOT the arms... Do you know how I would do that? Since this technique BASICALLY solved my problem, but having 2 arms randomly floating around for every facial expression I want to create, seems like it'll be a bit messier than necessary.
JustinP  [developer] Nov 10, 2013 @ 10:27pm 
Yeah, you shouldn't edit the mesh while it's attached as a skin to anything. That is what was causing you problems.

If you want to separate the meshes out (this is ideal because you don't want the extra data of the body if you aren't using it):

*Do this BEFORE you run the auto control rig script because it moves the mesh very slightly

- Duplicate the body. Put the original body in a layer or hide it.
- Take the duplicate and separate the meshes the way you'd like. The simplest way would be to the select all the head faces and 'extract', you will have a head mesh and a body mesh. Delete the history on these two meshes.
- Select them both, then the hips of the skeleton and go skin/bind skin/smooth bind.
- Now you just need to copy the skin weights from your original 'whole' mesh. So select the original, then shift select the new head mesh and go skin/edit smooth skins/copy skin weights. Do it again for the new body mesh and you're good to go.
Chronoloco Nov 10, 2013 @ 11:51pm 
Awesome! That all sounds like it should work pretty well. One quick question though, if I want to control the eyes independantly, or via blend shapes. Any suggestions? I have 3 ideas, but not sure which will work best.

1. Create a separate rig for the face, and connect it to the body's auto-rig (if I do this, where should I connect it so that I can still use the current head movement controls, and have everything work together?) Also, if I do this, I would probably have to extract the eyes as their own objdcts to hook up to the rig. Good idea? Bad idea?

2. As it stands, I think the eyes are currently being duplicated with my blend shapes head. But I can't rotate them without turning them into objects first. I tried turning my blend shape's eyes into objects via extracting them each, but when I then tried to rotate them as a blend shape, they made my main model's head go berserk. Maybe I should extract the eyes BEFORE doing the autorig? (will they still work properly with the rig? or will that break it?)

3. Should I not worry about rigging the eyes to bones, and just set them up with some sort of aim constraint for them to focus on in front of the face? I don't plan on doing any weird cross eyed stuff or anything, I just want to basically be able to look up & down, and to the sides, etc...

Sorry for the multi-layer questions, but I feel like I'm SO CLOSE to making everything work the way I'd like, I just need a few more pushes for the experts. Thanks again for everything!

Last edited by Chronoloco; Nov 11, 2013 @ 12:31am
Chronoloco Nov 11, 2013 @ 2:55am 
Also, I just now tried to do everything you suggested, with the skin weights & everything else... And when I finally got to the end, and tried to run the Auto-Rig script, I got this error...

#Error: ValueError: file <maya console> line 1482: No object matches name: polySurfaceShape2Orig

Any idea what's going on there?
BadTertle  [developer] Nov 11, 2013 @ 8:38am 
Its a little more efficient if you extract the eyes and bind them separately so you dont have that little extra data for all your blendshapes, but its not a huge benefit. For eyes, I would create some eye joints and flood the eyes' verts. I would do this after hitting rig to avoid any errors.

Originally posted by The Godfather:
#Error: ValueError: file <maya console> line 1482: No object matches name: polySurfaceShape2Orig
Ah. There are many poly operations in Maya that basically create undeletable history, they add extra shape nodes connected in odd ways and this all can confuse the Maya script. The workaround is to export the meshes as OBJ and reimport them (bind, copy weights, delete original). Its a silly thing to need to do, but it condenses all of the changes into one clean shape node. As a side note, its a pet peeve of mine to see objects named polySurface ;)
Chronoloco Nov 11, 2013 @ 3:04pm 
Yeah, I'm not a fan of polySurface either, ha... for now I was just leaving things as default and following directions as closely as possible, I figured if it worked, then I'd go back and rename stuff.

Another weird issue though... I THOUGHT I had the head blend shape working, but even if I create an exact duplicate, don't move it or morph it at all, hook it up as a blend shape, etc... And then try the blend fader, it will move my character's head forward slightly. (so that the neck rips through the shirt a little bit). I tried it with the head & arms as blend shapes, and doing that, the head moved forward slightly (like it's sliding on the Z-axis, not rotating as far as I can tell) but the arms also raised slightly, like he's lifting both arms, and then they rotated forward JUST SLIGHTLY.

Based on that deacription, any idea what might be causing that sort of thing?
Last edited by Chronoloco; Nov 11, 2013 @ 3:05pm
JustinP  [developer] Nov 11, 2013 @ 3:43pm 
That will happen if you duplicated the mesh after running the control rig script, because the model gets deformed very slightly. Therefore when you duplicate the mesh the verts are in a slightly different position so you see the difference when you apply the blendshape. So try doing any modifications to the mesh before you run the control rig script.
BadTertle  [developer] Nov 11, 2013 @ 3:50pm 
Hm... We're getting into the territory of I'd really have to see the file to know whats going on. I sent a friend request to take it one on one.
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: Nov 10, 2013 @ 7:03pm
Posts: 10