Shoulder Deformation Tutorials

Can anyone refer me to some good Blender Shoulder deformation tutorials…

I’m having some trouble with that right now (more than I had expected) and not sure if I should be trying to solve this with more bones more constraints or more weight painting… or even shape keys…

Seems like good shoulder deformations are a combination of all these …

But I"m not finding any real Blender speciffic tutorials on the subject…

Thanks Chip… I am going to go look at those right now… I did find one youtube video that had some interesting topology points to make…

Kind looks like he is using Lighwave… If I remember the Interface correctly…

I suppose I should post this blend file to let everyone know where I am at on this…
[ATTACH]205393[/ATTACH]

I prefer to use multiple interacting bones over a simpler rig and shape keys,

Yah, I too, have come to the same conclusion… but I’m still getting crushing and twisting mesh… I have to admit I not sure If I am understanding edge flow in the shoulder area however…

Play around more with the envelops if the arm got scalled up the envelops are going to be way off. I separate the shoulder from the arm just a little. Touch up with weights when finished. Animation can be done with envelops say 80% vert groups tie the rest down and touch up. More loops around the arm pit and shoulder area or your going to get sharps pulls.

Looking at your example file, norvman, here’s a few observations:

  1. as mentioned, you should increase the number of loops at the parts of the shoulder where flex is most extreme. This corresponds roughly to where the deltoids originate at the top of the shoulder girdle and on either side of this imaginary cross-sectional plane. Increased loop count will allow the surface to both stretch and compress more naturally, but see # 2

  2. Your vertex weighting is much too simplistic. The actions of muscles are such that at the origin and insertion points there is less stretch at the overlaying surface than at the more bulky middle of the muscle, so vertex weighting needs to taper appropriately. Assigning full weight of 1.0 to all involved verts will lead to the kind of creasing currently seen in the rig. This is especially critical when dealing with the deltoid area, where the surfaces surrounding the joint have to both stretch and compress to a large degree, and the verts are influenced by a number of bones in the process.

  3. Your idea of using b-bone flex to emulate muscle bulge is sound in principle, I think, there are indications it could work well. But I think you need to carry the b-bone-to-muscle analogy much further for it to be fully successful. The deltoid is again a very good example. That muscle has a three-lobed structure that is very apparent on well-developed, low-body-fat individuals. Muscles work by contracting, so each of these lobes acts during a particular orientation of the arm and shoulder. You’re using one B-bone to try and imitate that structure as it flexes though all orientations, and there isn’t enough response over the full range of motion. But you might be able to improve this using a b-bone for each lobe of the actual muscle, which would allow the limited deformation the b-bones can provide to serve a smaller region of the mesh surface. Working together they’d be a lot more versatile.

The approach in #3 does make for a more complex rig, and requires a good knowledge of how the individual major muscle groups act and interact. Plus I doubt it can be fully automated. In my solution, the helper bones are driven primarily by Transformation constraints, but in most cases I set the constraint influence to between 0.5 and 0.8, which allows hand-tweaking of the deformation help they provide since they are not 100% constrained. This is analogous to creating a custom shape key for every pose by reshaping with the helper bones. In practice I’ve found that I can duplicate keys from similar arm positions to new places on the timeline to reduce the amount of hand-tweaking needed – the arm position keys for the helpers are thus used much like shape keys, but are quite a bit more adjustable to suit particular circumstances. That kind of flexibility in the helpers is important, and one reason I see shape keys as more limited for the kind of animations I do.

Wow… thanks for the response guys… I really appreacheate the attention…

lets add a bit more information to the pot here…

I have Rigged and animated some number of characters over the years… however they have always been rather simplistic in design (mainly due to time constraints) … now that I am using blender … really as an effort to do more of my ‘own stuff’ I bult some models with more what I term … heroic upper bodies… that is… lots of shoulder and chest muscle… suddenly I find myself ‘new’ at doing sholder deformations because I’ve actually never had to deal with them before… all the character meshes I’ve build in times past had no-shoulder or very simplfied shoulders… (a tube coming out the side sort of thing)… anyway… that’s where I’m at on this thing… so thanks for all the help…

@MarkJoel60 yah I have seen this site http://hippydrome.com/ I will go do some more study on it as I only browsed and Booked it in times past… also it’s funny that you should mention http://blenderartists.org/forum/show...6a)&highlight= as I spent all evening yesterday reading through that thread (it actually came up in some google searches I did) very interesting… so your an old Lightwave guy… me too… I started out with the Video Toaster 4000… I’m actually trying to avoid as much Weight Painting and Shapekeying as possible (knowing that I will have to do some) but having this much musclar in the shoulders (and other areas for that matter) may demand a different workflow…

@brentison when you say envelopes we are talking bone envelopes right? (envelope means vastly different things in different software packages) (an envelope in Lightwave is the same thing as a graph editor curve in blender)

@chipmasque 1) yep… I’ve already decided that I will have to do some remodeling in the shoulder areas… note the posted Rigg was prior to your suggestions… I will be doing that very soon… and we will see how far that helps to improve… stay tuned…
2) I read where you were detailing that method in another thread… this is very very interesting… I’m going to put a bit of time into studing this… (which means any result I will post may be some time down the line… ) (perhaps I should make a smplified model to work with at first to test this out)
3) This also gets some thinking gears rolling … this whole idea of using the power of the non-100% weight to float and tweek out what would have been done with a shape key… and I understand exactly what you mean by the idea that a shapekey is rather limited in what it does… and can get rather complicated when shapekeys start interacting with one another… not always interacting the way you would expect them too… the hippydome guy points this out in some of his videos…

however … one concern I have is just how much bone layering will Blender tollerate before it locks up… I mean just how many bones can I put into one Rigg before Blender slows to a crawl… if the Rigg isn’t brisk in the animation process the Animator will give up in frustration or at the very lest not be able to get into the proper artistic ‘flow’ to give good performances… so I am conserned about bone counts… these bones being only Deformation bones… with still lots of Mechanicals yet to go on top of them…

Finally … i’m cutting and pasting all these comments into a file on my computer so I can go over them more than once so thanks for comments… fantastic suggestions guys…

My current rig has many bones, and can be quite “brisk” with an animation proxy mesh instead of animating directly with the higher-rez beauty mesh. In fact, I’m now in the process if introducing a muscle sim aspect to this rig, by building a muscle layer to fit under the “skin” mesh. So far it’s working great, reducing the amount of hand-tweaking on the shoulder areas (where I started , since it’s the most problematic). For the most part I find that other aspects of the process than the rig are what can slow things down a lot, but that depends on how the rig is activated and/or automated. I use many constraints and few drivers – the converse may result in a slower-responding rig, I don’t really know.

@@chipmasque

My current rig has many bones, and can be quite “brisk” with an animation proxy mesh

Thats good news… thanks! I guess next question I have to ask is how many bones do you have in the rigg?

One road block I’m seeing with your method is that there does not seem to be anyway for me to place a driver on the weight levels… not sure if I can do much with it without that ability…
then again I may have miss understood what your saying… you are talking about tweeking individual weight on the points correct? or are you talking about adjusting points via a bone with a constraint on it… and doing the ‘tweeking’ via the influence of the bone?

There are about 360 bones in the rig currently. The majority of these were retained from the original cessen Sintel rig that I adapted – I added about 100 bones and changed the display shape of others. The current design has a layer of principal controllers, a couple of layers of corrective bones that are constrained but can be adjusted manually, and a couple layers of fully-automated helper bones. The slightly modified Sintel rig portion takes care of the majority of the large body motions and my enhancements deal primarily with correctives and/or muscle emulations.


This shows some progress I’m making on the muscle-sim enhancement. I’ve only dealt with the shoulder, upper arm, torso & back so far, but the shoulders are great for testing because of the extreme flex range. The far left is just the mesh showing the shoulder in a typically challenging pose. Middle shows the two layers of principal and secondary controls. On the right I’ve also revealed the major deforming bones that the controls activate.


This is the Muscle layer in progress. I’m building the muscles from the existing body mesh to take advantage of the already-established vertex weighting, that really reduces weight painting time. This layer is actuated pretty much the same as the skin layer was (and still is) – it’s main purpose is to provide a set of sculpted volumes for the skin to “adhere” to via Shrinkwrap. Later on I’ll try adding jiggle physics with softbody or some similar approach.

As an example of how my constraints systems work, the bicep of the raised arm is contracted along its length and slightly expanded in girth according to how far the elbow joint is flexed. Transform constraints drive a Bicep helper bone (you can see it in the right-hand image of the trio) that deforms the muscle layer Bicep volume and the skin layer as well. Shrinkwrap keeps the skin following the muscle volume meshes very well. That took some trials to set up the proper modifier stack arrangement.

The body rig does not include facial animation – I removed all of cessen’s facial bones and replaced them with my Othello armature, which I like a great deal more and is designed to work with my model topology. This makes using the model a multi-armature situation but that works very well as there are no areas of influence overlap between the two armatures. I also have a small discrete armature for eye controls.

While animating I rarely have more than one layer displayed at a time, so the rig graphics don’t bog down the UI. I use a low-poly proxy mesh to block the motions and establish preliminary timing, then move to the beauty model with Subsurf & other UI-dragging modifiers disabled to polish. For the finest tuning and special situations like finger and hand contacts or final facial expressions, I use the full rez model with subsurf enabled to insure accuracy – that is really slow, but it isn’t the rig, it’s the model graphics.

I sometimes find a need to adjust vertex weighting during the animation process but try to avoid it and have it all well-tested before starting. All my correctives are done with helper bones in the rig. The new muscle-sim layer I’m adding is helping a lot in that regard, in that the underlying shapes of the muscles is better-preserved through lots of deformations without finicky correctives. I still use the helper bones, both automated and manual, so the process is pretty much the same, but the result is more accurate in terms of the look of the rendered skin mesh. The Shrinkwrap modifier I’m using does the “fine tuning” on the deformations.

Nice work @chipmasque I have read through some of your post on this system in other threads… your explainations above add to that knowledge… very very fine work… this is a bit above what I’m trying to accomplish however… as I’m trying to avoid muscle systems… and just stick with something where I can use primarily a bone based mesh deforming system that uses minimal shapekeys and minimal weight paint futzing… (which I already expect to have to do some of both… ) but the more I can cut it down the quicker I get the job done on a Rigg an get to animating… however… the Animation does have to look good… but again… I’m only looking for yet a more Comicbook hero sort of style with the caracters I currently am planing on this project…
Having said that… all this information your laying down here is certainly putting the wings of inspiration to flyt… Thanks for that… And hope to continue to hear more about all this as you progress… I’m supposing you have a thread where your working on all this and doing a bit of documentation for the comunity?

very interesting topic. Chipmasque, is there a place where we can see your rig animated?

Thank you.

Mathias.

Yup, sorry for the semi-hijacking, I got a little carried away when you asked about the rig. The muscle system is entirely new and not part of the original design – I’m evolving that some now – and isn’t really necessary, just an attempt to improve certain aspects of the result. The rig functions exactly as before adding the muscles, with the helpers deforming the skin mesh to provide some muscle mass imitation as well as corrective deformation. I mainly presented it as an example of a bones-only approach and how complicated it can get. But regardless of the rig design, mesh topology and vertex weighting is critical. Unfortunately I don’t think you can get away with rigging a muscular character that conforms somewhat to human norms without a lot of vertex weight “futzing,” it comes with the territory. Even without the addition of muscle-mass reactions to deformation, just straight skeletal mesh animation, it takes a fair amount of fine-tuning to get things like shoulders working correctly.

@mathiasA – here are links to three “clay-figure” tests and a character short that use my rig, but without the muscle system:

In the last of these (Zarbie Runs Amok) only the last portion where Zarbie runs into the FG and stops uses my rig. As part of Mixamo’s contest I used their run cycle for the other stuff. It’s all intentionally cartoony.

I’m in the process of putting together some info and imagery for a separate thread on my muscle system evolution. Not sure when that will be up, though.

Hi Jack away chip… even though I know I won’t ‘fully’ impliment what you’ve got going there I still would like to see what you do have going… the more I see the more I will test out… and the more that test out the more I might just decide to use… (with my time contraints…):yes::yes::yes:

Also by the way here is another file upload for everyone to test and critque… this by far has only implimented a small amount of the above suggestions… That is to say I am already working on an updated version…

[ATTACH]206024[/ATTACH]

note… most of the bones are only intended as deformation helpers… the Arm, Clavical, Neck, Chest, Spine, and Hip bones are the only bones intented to be animated…

Going to post one more time here thought some might want to see my currently workable solution …

[ATTACH]207113[/ATTACH]

Anyway this Rigged works very well in that it needed no extra Weight Painting nor Extra Shape Keys…
most deformation problems got solved with this simi-flex Straw topology solution in the shoulder area…
plus note that in the process of animating the Animator Uses the ArmUp, and Clavical to do the main Animation but then the BBone flex shoulder is also exspected to be Rotated into more ‘proper’ positioning… (these only have to be minor adjustments) which may in the end result in an excess of ‘counter animation’ but also gives a bit more control also…
Anyway I’m currently happy with the way it animates can consider this thread solved if no once can offer any improvements…
Thanks all for your comments… :yes::spin::yes: