View Full Version : Novel Blendshape Problem - GENUINE MYSTERY with PICTURES

01 January 2006, 02:38 AM
okay, i don't normally scream for help, but this time i think i'm justified. before i came to this forum for help i've spent about 20 hours on my machine and on the internet searching for help. everything is close but nothing works. i've done my homework and i'm now at my wits end.

THE PROBLEM- blendshapes are being totally impossible. i've skinned my girl and given her a good weight painting job. she deforms okay but she needs help in the shoulder/ elbow and hips region. so i decided to use blendshapes driven by SDK which WORKS PERFECTLY WELL on my last character. the method i use is common now if you have to resort to blendshape fixes: move joint into position, duplicate skinned mesh twice, sculpt 1st copy into desired form for the deformation then add these two back as parallel blendshapes to the original mesh. drive the non-edited version to -1 and the edited version to 1, move the joint back to zero and duplicate this funky looking mess. reapply this as a parallel blendshape and it will deform the joint nicely when it is rotated. and it does. did this for all the joints on one side and mirrored them. THEY ALL WORKED PERFECTLY UNTIL i rotate the root joint with the shoulders and/or elbows rotated (and blendshapes in effect) THEN THE MESH FREAKS OUT in those areas, kind of reverts to the funky looking blendshape. totally innapproriate. if i apply the blendshape as a Front of Chain then it's just a mess in the joint region from the get-go (although it doesn't change when i roatate the root joint). i've checked deformation orders, i haven't frozen anything, my blendshapes are local and i've tried just about every permutation of deformation order. i've even broken down everything and scrupulously cleaned it made sure there's nothing funky going on. there isn't, but there obviously is! so in short PARALLEL DEFORMATION IS FREAKING OUT when i rotate the root (or any joint in the chain). but the strange thing is that THE HIPS BEHAVE TOTALLY OKAY no matter how i rotate anything they are fine.

and i'm on a MAC SO HARDLY ANY PLUGINS ARE WRITTEN FOR ME. mike comets PSD is great i'm sure but it won't run on a mac and i don't know of any others. BSpiritCoreective doesn't work and neither does bodyBlend. it's driving me crazy. as i have said, it worked on my last character I NEED HELP.

this is making me cry! i can't move on until it's fixed obviously. and i'm TERRIFIED THAT FACE BLENDS MAY NOT WORK. i'm willing to try any suggestion no matter how ridiculous but i would also like some good professional help. any scripts or plugins that would work to create a nice front of chain deformation or a PSD would be even better.

thanks all,


01 January 2006, 09:44 AM
merry xmass...
sorry, I'm just tired, didn't sleep in quite a while :)
I'm about to start doing this myself and, honestly, I've never 'body-blend-shaped' a full creature yet, only small tests like just the arm. that worked smoothly, but I'm afraid the shoulder area won't be just as cheerful :D hi hi hi :D is it possible that you might have double deformations in the shoulder? probably not, as it doesn't look like... but just thought I might ask. make some conversation. so here's how I do it. I've tested it and it works. on a small scale at least. but logically, I don't see why it wouldn't work on the large (because the :twisted:devil:twisted:'s in the details!!!). no, no, no, it should work.

ok, you don't need any fancy scripts for painting, it's just a supersimple operation:

1) say you want to build 10 blends. ok, import your skinned character in a new file. import it again. and again. and again. 10 times, for 10 blends. 2001 times for 2001 blends. the ideea is that you need to have skinned models, each having a skeleton.
2) and that's it. :p start with model 1/blend 1: because it has a skeleton and is skinned you can rotate to your heart's desire, while painting that sexy deformation.
3) when you're done painting click Go to bind Pose, and just delete history on the model, which removes the skinning, and delete the skeleton too.

voila! you have your blendshape. importing changes naming, which might be bad for you, so just export all the geometry (them 2001 blends) back to your original file. make a copy! always make copies! :wise: keep your blends, share them with the community.... hi hi, just being silly.

now for part too... where your problem might lie... I guess you need to set the blendshapes parallel, don't know about this but I did read about it, so wiser dudes should be trusted;). but your workflow seems overcomplicated to me - I'm the simpleguy. keep it simple! works for me most of the time (well, except for the times when it... doesn't work). why do you need to have 2 blends? maybe the blends pair is the problem..??.. try my method, if it seems in any way logical to you, and see if it works. again, it works for me, but on a smaller level, not full-body. ammmmm, since you'll probably want to get hardcore and have more than 1 corrective blendshape per rotation, the way to do it, if I well remember Stahlberg's method, is to keep blend_A at 1 as blend_B goes 0-1, keep blend_B at 1 as blend_C goes 0-1.... etc. maybe you could even use the blend-inbetweens, I never heard anyone talk about that, but I guess it should be very doable, why not? except that you probably get more control & flexibility setting the SDK by hand for each and every blend.
oh, and my advice - don't use, if possible, negative blending. maybe it'll work well, but I think you should probably build a specific blend for every side: like the collar/shoulder bone going forward has it's own specific deformation and if it goes back it's also not just the same-thing-turned-backwards. also, I guess most joints don't even need corrective blends for 2 directions: like the knee, it only bends, it doesn't usually... counterbend.
btw, how do you mirror blendshapes, is there a tool...? aside from jason osipa's blend taper... which I haven't used:blush:? I was thinking to cut the mesh in 2 and mirror it, but if there's an easier and smarter way, I'd like to know.

01 January 2006, 09:47 PM
zamolxes, thanks a lot for your exhaustive reply. i tried your way and it was working nice but i thought that there must be an easier way. and there was, i actually had some script path issues and that's why i couldn't get some of the free scripts to work. so in the end i overhauled my maya (and my mac and my studio) out iof frustration and actually got BSpiritCorrectiveShape to work just dandy. with that you just move into desired position duplicate work on the duplicated mesh then select the duplicate (edited) and the original mesh and hit the script. if you just select the altered verts on the duped mesh it's really fast. anyway you get a nice "front of chain" worthy blendshape, so you can totally avoid parallel blending which, as far as i've been able to find out, is fraught with problems such as mine. so i'm all good. i reccomend his script and if you're a pc user then there is a superfast plug-in that he has too. apparently pose space deformers are best, but as i've said before i'm a mac user and i can't find any. i know one of the top dogs over at creature TD is working on a script PSD but i haven't anything on that for a while. as for my blends i'll have four maybe six for the shoulder and i like to hook them up with an expression to control the blends between them all. expressions are generally slow, but this is just my skinSkeleton which i'm just using at render time, the actual rig itself is expression free and basically realtime. anyway, best of luck, whole bodies are much differenter.

thanks again for the reply,


01 January 2006, 07:00 AM
glad to hear it's working. I thought my version is simpler than everything else... but if you got BSpiritCorrectiveShape to work, good on ya!

01 January 2006, 09:56 AM
Hi the smoothSkin node before the blend shape node?

Otherwise I would check the SDK value when it starts to freak out. If it changes, then you know where to continue looking.

/ Daniel

01 January 2006, 07:02 PM
you need to re-order your Input stack :)

right click your mesh, go to Inputs, then in your Inputs window, place your blendshape node BELOW your skinCluster.

right now you're rotating your root joint and the matrice of the skinCluster is taking precidence AFTER the blendshape, so you're going to get shearing and stripping of the mesh.

This would be your first course of action, after that I would be checking to make sure that your vert counts haven't changed at all between the meshes etc etc.


also, be weary when using blendshapes to correct a shoulder solution based off rotations... a 'normal' shoulder will run into serious gimbal issues and cause the shoulder to completely freak out.

02 February 2006, 03:06 AM
Not sure if this would help at all, but try going into the geos' transform node and turn off "inherit transforms"


CGTalk Moderation
02 February 2006, 03:06 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.