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-30-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,
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!
...is 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.
01-31-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-01-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"
02-01-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.