PDA

View Full Version : human shoulder setup... i know, i know...


nemeru
01-04-2011, 06:11 PM
hi everyone. i almost feel like i shouldnt be posting another one of these if i wanna live, but here it goes:

how, in god's name, does the human shoulder need to be done, to have good deformations?
i kno this question rises often. but i have yet to see one that offers some kind of a closure.
i've done plenty tries -
-helper joints constrained to kinda simulate muscles (pecs and latissimus mainly)
-blendshapes
-muscles
-PSD by michael comet, compiled by djx for maya 2011

corrective blendshapes... well, lets use the word 'limited'...
with psd, it feels like i would have to sculpt like 20 poses to get everything right, and besides it being tedious as hell and suited for the best results, i dont have the time now.
constraints didnt work for me, or are in some way limited
Muscles work out the best for me, last i tried. they deliver supreme deformations if properly set up but take up valueable processor power.

i'd like to use PSD since i kno it's the best, but obviously, i've got trouble understanding it right. i've never seen it with my own eyes in a rig, so i've got nothing to reverse-engineer..

if some of u can point me in the right direction (and i mean a somewhat up to date tutorial to whichever shoulder setup, screen capture or if u'd like to share a scene file with me, which would be greatest *ever*), i'd be very very glad.

thanks guys.

PentamiterBeast
01-04-2011, 06:38 PM
Ive always found this to be a great solution for shoulders, or any number of other areas even.

The idea is to separate out the control and deform rigs... in the screen grab here, the black bones represent the control rig items, collar,upperarm, forearm... The purple joints represent the deform rig which the mesh is actually bound to, and the deform rig simply targets/constrains onto the control rig.

This extra "spacer" joint helps to smooth out deformation massively... you don't ofc need to stick to just one spacer, you can use as many as you like, but just one is usually sufficient.

The secondary benefit of this is that it also spreads the rotation values across 2 joints, which helps give you predictable rotation output values across the joint, avoiding the usual gimbal/eular fixes that will doubtless be part of the control setup, so you have easy rotational values that you can use to drive any additional shapes on top.

Lomax
01-04-2011, 07:19 PM
with psd, it feels like i would have to sculpt like 20 poses to get everything right

20 poses? Last time I used PSDs, I got decent deformation with only 4 poses per shoulder. But that was on a stylized character. I suppose a more realistic character could use more, but 20 sounds excessive.

I think the main reason you may not see PSDs on downloadable rigs, is simply because they require the plugin. They're not that complex though, so don't be afraid to experiment with the online tutorials (http://www.tokeru.com/t/bin/view/Maya/MayaPoseDeformer).

nemeru
01-04-2011, 09:30 PM
The idea is to separate out the control and deform rigs... in the screen grab here, the black bones represent the control rig items, collar,upperarm, forearm... The purple joints represent the deform rig which the mesh is actually bound to, and the deform rig simply targets/constrains onto the control rig.


Hey mate, thanks for the advices, but i've already been using the methods you said for months :) A good rig doesnt have controls on the bound joints, i always have an extra step in between. As for the spacer joints, same here :) Especially the forearm gets really better using these methods.

But the one thing I have problem with is the rotation of the humerus along the bone, and subsequent pecs deformation in the event of moving the arm forward, etc. I've got pretty good results using only the dual quaternion skinning, but i need the additional tweaks as well as fix major issues. I'm seriously looking to end this chapter for good, i wanna have a method that i could depend on, I'm always struggling to make it work right.
Argh... Muscles it is then i guess :(

Any additional ideas are welcomed.

Thanks so far. And thanks for the link to the PSD tut, I read it back in the day, I guess I'll read it again and try to read between the lines ^^ 20 poses may be exaggeration, but 10 for sure. As i said, I probably don't know how to work with it... Lets see. one normal, one for the front, one for the down, one for up, then rotation (the along-the-bone rotation) for all these said poses, plus some inbetween to smooth out the transition where needed... and the rotation poses are a pain in the ass, the geo gets so messed up always... :banghead:

nuternativ
01-05-2011, 01:38 AM
hey, check out this guy's blog.

http://td-matt.blogspot.com/

I saw some article about shoulder rigging with control and deform joints and stuff.

anoopak
01-05-2011, 03:57 AM
The work flow I have been following for the past few years was to setup muscles for the shoulder region.Once these muscles are bound to the mesh and weighted properly, I would duplicate the shapes for certain preset poses in all the three axes and also in combination.This would give me an anatomically correct shapes, which I can plug in to the pose deformer. This way I could easily extract how much ever shapes for my pose deformer without extra effort.So the final rig would be skin cluster based with pose deformer working on top.

nemeru
01-05-2011, 08:22 AM
The work flow I have been following for the past few years was to setup muscles for the shoulder region.Once these muscles are bound to the mesh and weighted properly, I would duplicate the shapes for certain preset poses in all the three axes and also in combination.This would give me an anatomically correct shapes, which I can plug in to the pose deformer. This way I could easily extract how much ever shapes for my pose deformer without extra effort.So the final rig would be skin cluster based with pose deformer working on top.


not a bad idea at all! i was actually thinking about this, but gave up, since it would involve using the PSD, haha. I'll setup muscles and see where that gets me with render time, we'll see about using PSD. So far, i've got PSD only on knees and will prolly set it up on elbows yet.
Amazing as it is, i've actually achieved great deformations on the hips using just the skincluster tho ^^
Will look into it. Now just one question there - how exactly would you plug the predefined poses to the PSD? when u click "prep for sculpt" it gives u a mesh. do u just rename the one you have prepared to the name of the prepared and delete the prepared, or set up a blendshape on it or something?

And thanks for the blog nuternativ, ima check it out right now :)

anoopak
01-05-2011, 10:53 AM
You are right.Once I enter in to the sculpt mode, I apply the previous shapes as blendshapes for the sculpt mesh for each pose

pearblossom
01-05-2011, 02:30 PM
There is a good pose deforming script that comes with 'The Art Of Rigging' that doesn't require installing the Comet plugin. They also break down the mechanics of PSD somewhat in the book. TD Matt's tutorial is also worth a look, since it's geared towards games it's a good example of how to get better deformation, especially twist, without resorting to blend shapes.

xfon5168
01-05-2011, 11:25 PM
Ive always found this to be a great solution for shoulders, or any number of other areas even.

The idea is to separate out the control and deform rigs... in the screen grab here, the black bones represent the control rig items, collar,upperarm, forearm... The purple joints represent the deform rig which the mesh is actually bound to, and the deform rig simply targets/constrains onto the control rig.

This extra "spacer" joint helps to smooth out deformation massively... you don't ofc need to stick to just one spacer, you can use as many as you like, but just one is usually sufficient.

The secondary benefit of this is that it also spreads the rotation values across 2 joints, which helps give you predictable rotation output values across the joint, avoiding the usual gimbal/eular fixes that will doubtless be part of the control setup, so you have easy rotational values that you can use to drive any additional shapes on top.


Just so I'm clear, Is that joint about midway through the clav and the upper arm, is that Aim constrained to the UpArm Control rig(or some locator located in the control rig) or is it some other method.

nemeru
01-06-2011, 08:12 AM
Just so I'm clear, Is that joint about midway through the clav and the upper arm, is that Aim constrained to the UpArm Control rig(or some locator located in the control rig) or is it some other method.

I cant speak for him, but how I would setup a joint looking like that is through an IK, so that it always moves half of the rotation, since it's a "bone for a joint" kinda thing. It's the same as 3-joint leg (where one extra joint/bone is used to simulate the kneecap) - the IK works marvels there, keeping the kneecap always half-way.

As i said, that's just how i would set it up, dunno how PentamiterBeast is doing it.

PentamiterBeast
01-06-2011, 11:33 AM
Just so I'm clear, Is that joint about midway through the clav and the upper arm, is that Aim constrained to the UpArm Control rig(or some locator located in the control rig) or is it some other method.

Well, you can do it in a couple ways.

As said, IK will work, as it can keep the spacer joint at exactly half the rotation of the shoulder easily... But I tend to aim and point constrain it to a locator/null which is parented to the upper arm control.

I usually make this spacer joint's length appropriate for fitting within the deltoid portion of the character mesh, which can ofc vary in size, so not every character requires it to do exactly half the rotation of the upper arm control, sometime its more, sometimes its less, so I find aiming it good for this.

And I point constrain it because, ofc, when the upper arm rotates, the relative distance between the base of this spacer joint (in the collar section) and the locator on the upper arm changes, so point constraining the tip joint lets me squash n stretch the spacer to fit the space correctly, and so as the joints going further down into the arm don't get pushed out of (relative Z) position.

I also find that this teeny lil squash n stretch effect on the deltoid mass helps with the overall shaping of the mesh there too.

But at the end of the day, the deform rig... the actual skinned joints, just need to target themselves onto the control rig, so any method of IKing, constraining, or whatever else that matches their overall "pose shape" to that of the control rig will work just fine. And yes, these spacer joints can be used all over... I tend to place them across any joint in the character that has rotational freedom beyond 90degs on at least one axis... so generally that's shoulders, hips, elbows, knees... and sometimes even wrists. You could do it at finger joints also, but that's usually overkill for most projects.

nemeru
01-06-2011, 05:47 PM
while this approach would work, as u say, in many areas on the body, it usually isnt used tho, for several reasons:
a) it looses shape in the area - i recently been visiting Lucasfilm studios in singapore and was asking the lead rigger there many questions, one of which was where would he put various bones. he said always the closest possible to the surface ( in areas like elbows, knees or fingers) to keep the joint appearing there. if you know what i mean. but this technique usually requires you to use -
b) Pose Space Deformer solution. thats the other 'but' ^^. i dunno what ur aiming for xfon 5168, but in movies, rigging different areas is afaik always done through their proprietary pose space deformer solution. in games tho, expression or extra joints would do the trick. i generally dont like working with corrective blend shapes, since for 'correcting' they offer very llittle versatility.

anyhow, the method you describe works fine, one just has to watch out so that to keep the realism in an acceptable range :)

xfon5168
01-06-2011, 07:28 PM
Thank you Both for your responses. This has been a pretty informative thread thus far(especially with the blog post). I was just curious, I work in a different program and so I like to take things from Maya or Max or what have you and apply them to CINEMA 4D. Since I don't typically work in those apps, I just need to make sure I have my facts straight. Took me a while to convert that Upper Arm Roll setup to CINEMA because I could figure out why you do some of the things you do. Now having rigged it in both I think I understand it.

I suppose another question, just to maybe keep the discussion going, how do some of you guys handle PSD's? I've seen some use dot products to drive the blendshapes/morphs, some do theirs based on a locators position on a plane, etc. but what are some of your guys'(and girls') approach to them?

nemeru
01-06-2011, 09:41 PM
hell, i just fell asleep for like 3hrs in the middle of rigging, sh*t... heh...

anyhow, i'd like to thank all too, for their reactions and advices. This actually has been informative, even tho i have yet to do a shoulder rig that would look good, heh...

Now for PSDs, keep in mind it's very different from simple 'corrective blendshapes'. The system works very differently. Anyhow, I'm not the one to explain how to use it, i've grown accustomed to hate it unfortunately :/ i kno the potential is the best yet, but i just dont understand it obviously the way i should. I need someone to explain to me how to set up a shoulder area using it (as in what poses do they save and why), to break the curse i've brought on myself ^^.

PentamiterBeast
01-08-2011, 03:54 PM
Well... as far as pose space deformers go, this is one reason why I like my lil spacer bone setup for the shoulder.

The trouble, ofc, with tying shape corrections to the upper arm control are the gimbal issues associated with rotation order/euler co-ords. I use 2D IK on my arms IK, with a pole control to rotate the IK plane... now while this is great for stable IK, its a pain to tie shapes to, as the overall rotation of the shoulder isn't based on the rotation of one single item.

Now you can use a locator or null to aim from the clavicle to the elbow, or use something like the angle between node in maya, or change the parent space refernce in max to find the overall rotation of the joint between shoulder>arm, but again, its an euler system, and so still doesn't always give fully predictable co-ord outputs that you can easily tie shapes to (Ok, there's quats, but I tend to avoid them in my work, others may well disagree here).

However, by using the spacer bone as I do, the overall rotation of the shoulder gets spread across 2 joints, the effect being that any pose (well, any naturally, realistically achievable pose) will only ever cause each joint to rotate a much smaller amount... always within a hemispherical area, often less, but never facing backwards where gimbal flips, etc would occur.

So this gives really nice predictable co-ords that you can easily tie shapes to, assuming you just want shapes driven by a single axis of rotation at a time... You could then also use secondary shapes to create 2nd layer/generation shapes used to further correct when the bone is rotating on multiple axis... these second layer of shapes being driven not necessarily by the joints co-ord, but by the weights of the first level shapes as they get applied.

The other thing that you can do, ofc, is to take dot product from the rotation of the spacer bone, which will deliver a different product for every possible pose, and use that to drive a set of corrective shapes, effectively giving you a setup that works like a PSD.

So like this, i can use this one type of shoulder setup all the time. Its good for games, as it provides pretty good deforms just from the joints themselves, so they can be baked to keyframes for loading in the game engine... or it can be tooled out with corrective shapes in a couple different ways for pre-rendered work.

CGTalk Moderation
01-08-2011, 03:54 PM
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.