Jump to content
Hash, Inc. Forums

Cog Adaptation


OdinsEye2k

Recommended Posts

Hey folks,

 

I just wanted to share a spin that I've added to Cog/fan setups - many of you may already know this trick. But, I wanted to show it as a reminder for a way to explicitly design fan rigs through consideration of bone placement and length.

 

The problem I started with was rigging the arm pit region of my more realistic model. I wanted a series of horizontal splines to collapse vertically, such that the outermost horizontal spline (out toward the hand) was at the top of the vertical stack. A standard Cog setup (as in Mike's lovely tutorial) will do this upside down, as the points will not change orientation relative to each other (as designed).

 

The trick is simply to draw circles that include the original point and the desired point. The bone is positioned so the pivot is in the center of the circle (really just plotting out the travel of the bone under rotation). Simple trick, but again, something that folks may not necessarily think up at first try (I certainly did not).

 

Here's a picture below:

post-43-1119767688.jpg

Link to comment
Share on other sites

Okay, this falls into a theory of mine once again.

 

If you look closely at a "skilled" minimalist modeler's spline placement...

 

... it looks beautiful. The spline placement has a pleasing asthetic quality.

 

 

Following along with this... using this concept the layout of BONES has a similar pleasing visual quality.

 

Imagine a relatively complex rig with all the fan bones, placed in this fashion. It could posess it's own artistic beauty.

 

This can't be just coincedence right? Do I only "see" this quality because I am familar with Animation Master? Or is this a visual impact that might be seen by someone completely ignorant of AM?

 

Either way I find it very interesting... and now I won't kick myself so much for being too obsessive if I want my rig and fan bones to "look good".

 

I remember one "critique" of Mike's cog system was that the spacing and placement of the bones was only for visual reference and not for functionality and could be achieved without it.

 

I kept thinking... "Yeah? So?"

 

p.s. As a small child, I use to layout my Tinker-Toys into interesting grouped patterns on the floor based on length and type... that is why the smashed hotel room scene in the Pink Floyd movie freaked me out so much.

 

Vernon "!" Zehr

Link to comment
Share on other sites

Hey cool use of bones and constraints Bjorn!

Do you have it working in any models yet?

Lets see!

 

It's under work with a shoulder rig ATM. I can't seem to get all the bits to work perfectly yet, but it gives me the 90% solution that I don't feel bad correcting with smartskin to get the exact flow I want. Plus - it is handy because it is keeping my hands off a majority of the points I will want to influence later (tricep/bicep flexion).

 

I don't have the whole rig worked out, but I have most of it. Maybe by the weekend I'll have it to a point that does not shame me.

 

I've also modified the Cog concept in my mind for more complex models in that I am focusing on different modes of motion. The above rig is used to collapse the flap of skin/muscle that is the armpit and a traditional Cog layout is being used on the shoulder and that muscle between the shoulder and neck. The pecs are being manipulated by a bone that stretches to meet the bicep area, with CP weights to soften the effects.

 

PS - I totally agree with Vern. Beauty usually means you're on the right track.

Link to comment
Share on other sites

I'd Love to see this in Action .............. or even in a series of Stills.

 

... that is why the smashed hotel room scene in the Pink Floyd movie freaked me out so much.
..... did this happen to you as a child also Vern?

You know, Now day this happens with Legos!

;)

Link to comment
Share on other sites

Hey Bjorn, you know this got me thinking a bit...

in your picture where you have the "disired" postion of the bones...

what if they were set to have there origin location changed in relation to the rotation of the main bone.

Like they would then compress and open like an accordian, that would simulate the stretching of the skin as well.

I think an expression or a series of translate to constraints would do this....

But this is all in my head at present.....

 

Mike Fitz

www.3dartz.com

Link to comment
Share on other sites

Like they would then compress and open like an accordian, that would simulate the stretching of the skin as well.

I think an expression or a series of translate to constraints would do this....

But this is all in my head at present.....

 

You're actually describing how I used to do clavicle (sp? whatever the collarbone is) motion when I turned the main arm control. I had a set of expressions that moved the root of the arm bone around as it rotated.

 

However - I disliked this solution because the Expressions at the time mostly worked on channels for bones. The bone channels (and I wouldn't change this for a shoulder, because it is precisely where they are so handy) are in quaternion format. Quaternions are bad for formulas, cause you usually have to translate to Euler to make any damn sense of them.

 

I also thought of the accordian idea with some kind of translate to, or stretchy rig up (aim at a null and then stretch to reach) as well. I kind of got the variable stretch thing to work in my guy's pecs, but I had to tweak a fair amount. I'm not all that happy with it as of yet.

 

I'm still not the best at going directly from bone rig to done - I kind of still prefer smartskin to CP weights in a lot of cases.

 

Chad - another couple of nights and I think I'll have the smartskin patch-ups done for the shoulder rig. I'll show you all a couple of movies then.

Link to comment
Share on other sites

Holy cow - and now you got me thinking Mike.

 

Theoretically speaking, there are only a couple of major ways that muscles move - the majority of what we see is them sliding over bone to achieve their stretching and shrinking (such as those lovely deltoids flowing over the rounded cap of the shoulder joint).

 

So, really, to rig these anatomically, you just do a lot of accordian style rig-ups with the appropriate constraints to bend and warp them over the "bones" lying underneath.

 

It's kind of a low-tech way of doing what they pay all of those biomechanics folks to do for advanced rigging (the layered bone, muscle, skin stuff).

Link to comment
Share on other sites

Bjorn, right! So now I'm thinking again about math....

a "dynamic" math formula could be used to not only move the bone from point A to point B, but also could introduce a curve as well.

This number that controls the curving element could grow in relation to say the rotation of anothe bone, so that the bone would be able to make it around a corner joint or something.

Follow me, or am I just talking crack pipe here?

 

Mike Fitz

www.3dartz.com

Link to comment
Share on other sites

These are really an intersting ideas ........got anything to Post yet.

Even something simple would be nice?

 

The Shoulder is by far the most difficult area to Rig, I had some degree of success with "AIm At Null wth Scale to reach on Z-Axis Only", but this sounds like a solutuion to some of the more difficult area onteh Shoulder. (a couple of Mov's http://www.hash.com/forums/index.php?showtopic=13811&st=60 )

 

Out of curiosity could some of the Bones Fan to a point & stop, while other bones do not begin to Fan 'til the first bone reaches a certain Degree of Rotation. .....Then the second Bone would begin Rotation at that Point and Overlap in rotation Through the stopping point of the first to another degree of rotation & stop. ........Then a third Bone to act as the Second based on its Rotaion to have a continuous Overlap.?????

Link to comment
Share on other sites

Mike - I completely follow you.

 

Curses .... I need to stop reading this at work and do it at home where I can mess around.

 

Really ... should ... continue work on current model.

 

But what the hey? You've really got me chewing on the situation. I can crank out the theory and try and whip up a test case. I'll start with one dimension and worry about the whole quaternion nonesense right now.

 

I'll also try and draw up a couple of maps to go with the concept. I would think of the rotation going to a formula from 0 to 100% and then that value being fed into something else. Heck, you could probably just make a percentage pose for the curve or something like that. Being kind of vague now just because I need to sit down and plug it all into A:M.

 

You'll have to come to Chat Night tomorrow.

Link to comment
Share on other sites

Out of curiosity could some of the Bones Fan to a point & stop, while other bones do not begin to Fan 'til the first bone reaches a certain Degree of Rotation. .....Then the second Bone would begin Rotation at that Point and Overlap in rotation Through the stopping point of the first to another degree of rotation & stop. ........Then a third Bone to act as the Second based on its Rotaion to have a continuous Overlap.?????

 

Certainly. I'm actually going to apply this to my shoulder as well, since I have this odd hack that I need to do. Somehow, things are a bit odd in that I need more shoulder involvement for the arm to raise as opposed to lowering. I get something that looks nice when the arm goes down, but when I raise it over the head, it is obviously not going high enough.

 

I tried to con the smartskin system into achieving this for me, but got rather messed up.

 

Maybe I'll post the guy as a movie tonight before I'm finished with the smartskinning. There will be a couple of ugly poses, but I've got the reach down and reach forward bits down already.

Link to comment
Share on other sites

Bjorn, This is a pretty basic rig (trying to be) 3 bones and 2 nulls, but it may give you some ideas. The area between the shoulders and the neck, you can add null targets to my setup and have your bones aim at. Placing the target in the upper bicep so when lifting the arm over the head, with scale to reach on, it might give you the range of motion your looking for. I also added the shrug pose at the end.

Link to comment
Share on other sites

That's an interesting trick there, Mark. I'm not entirely happy with my rig up at the moment - it's requiring just a hair too much smartskinning to work well. I like some of the features of both the rig I've seen from you and Mike S's. The real trick I'm thinking of is trying to get the Z rotation to work.

 

I don't really like having the model penetrate itself, though... it's something I'll work on with the ideas we've bashed around today. I'm almost inclined to tear my current version up and start again.

 

I'm thinking that the quality of rig has a major factor in reusability/tweakability of a mesh, so I'm willing to bash few a couple of times to get it right if it means I can more easily set up new characters in the feature. Mikes (meaning both of you), feel free to disavow this thought if you believe it untrue.

 

(Edit)

 

I guess I also have to keep in mind that I'm abusing the rig by going to all the extreme positions and combinations of such, but that's a part of the point.

Link to comment
Share on other sites

Mark, that's beautifully simple (shoulderbones.mov). Is that the same setup used for the Shouldertest3.mov you posted in your rigging thread showing the straight forward position? If so, are you going to post specifics of how it works, or a sample?

Link to comment
Share on other sites

Mark, thanks. Yes it's the same setup. The left side isn't setup yet. If I can manage to get the cp weighting mirrored (any plug-ins you know of that do that) I'll post it as and update to the rig. I might set it up as a drag and drop rig also, it may need translate target names changed though. It's pretty easy to setup, the 3 bones are translated to the hips, back 3 (can be changed to back 2 to fit 2001 rig) and neck, one null it translated to the bicep, the other is a child of the bicep (don't even need this one, but I wanted more range of motion for the side). Added the aim at constraint with scale to reach on and Z-Axis only on. Assigned specific cp's and weighted the rest. I may add a fourth bone for under the arm, Bjorns rig shed some light (mesh penetrating). And by the way, there is no smartskin, just weighting. Gotta love that weighting, it's so much easier than smartskin, I think.

 

From what I've see with the rigs post lately is the number of bones in them. It's not economical for a reusable rig (except for maybe the one who built it). My rig is starting to get out of hand. trying to install these rigs in another model would be a tough task, scaling problems, assigning the cp's to the right bones, to name a few. The simpler it is, the easier it is to install and fix.

Link to comment
Share on other sites

If I can manage to get the cp weighting mirrored (any plug-ins you know of that do that)

 

There are no fast, easy ways to mirror cp weighting that I know of.

 

Thanks a lot for the explanation of your shoulder rig and for posting quicktime examples. As soon as I get a bit more time I'm going to dig into this.

 

Two thumbs up for your efforts to keep the bone-count down for transferability.

Link to comment
Share on other sites

This is the only "plugin" I know of for flipping CP Weights. It's not perfect, but it's better than doing it manually.

http://am.tigerbean.dk/weightflipper/

 

The only guaranteed method of flipping your CP weights is to:

 

1. Make a copy of your model,

 

2. flip it along the X-axis,

 

3. switch all the "left" and "right" names on the bones,

 

4. delete the half without the CP weighting, then

 

5. stitch the remaining half back together with your original model.

Link to comment
Share on other sites

Hey Mark

 

I like that simplified shoulder Rig (shoulderbones.mov)!!

 

I love weighting too........ it's tedious sometimes, but Great results!

Are you using any "Bone Falloff" on your Weighting, that can sometimes get you pretty close on weighting.

 

If you have Bone Falloff on your Shoulder Rig & Copy your Shoulder Rig to the opposite side, the bones will retain their Bone Falloff Weighting, then you can Assign CP's to those Bones with Falloff Weighting.

(One trick on this: sometimes on copied bones you have to turn the Falloff Off then back On to see the specific settings)

 

..................it is not 100% but will get you close in many cases & cuts down on the # of CP's you have to custom Weight.

Link to comment
Share on other sites

Hey Mike.

 

Weighted by hand. Every time I try bone falloff (haven't experimented alot with it), it always seems to effect cp's I don't want effected. I'll group cp's and weight and then adjust as needed. I guess I'll need to experiment more with falloff.

Link to comment
Share on other sites

Well, after half a week, I've tried to rebuild my shoulder rig. The version seems to work a little better. It's still not automatic by any means, but it gets a lot closer on the shoulder twist than before. I got the idea by looking at Mike Sanderson's rig (don't know if he's set it up the same way as I did).

 

Unfortunately, I don't get to use my Cog adaptation for this one <_<

 

There needs to be a way to combine the rotational goodness of Cogs and the linear stretch of the pectoral and latisimuss bones that I threw into rig. That would probably account for all of the components of motion - but I don't know how to do it simply.

ztest.mov

Link to comment
Share on other sites

Bjorn, very interesting samples.

I think however, it is important to note that you have more than achieved the range of motion on the Z rotation that any shoulder joint would ever rotate.

I spent a lot of time(to embarrassed now a days to admit just how much) on getting joints to be perfect.

I don't see the translation twist in the skin between the shoulder and the elbow running over the bicep/tricep area.

Setting the joint to achieve this will help dramatically in hitting a nice look in just about every angle.

 

Mike Fitz

www.3dartz.com

Link to comment
Share on other sites

Mike,

 

I agree with you being beyond range in pointing the bicep toward the ground - I can only get to about 30 degrees or so in that direction. I can easily point my bicep straight up though.

 

Do the biceps and triceps really twist that much? I'm not assuming I'm right here, I just thought that everything was hooked up such that only the bits that right from the rest of the body to the humerus were the ones that stretched and warped. I thought the biceps and triceps were relatively unaffected.

 

I've actually gotten an idea for combining the stretch and Cog - I think I'll try it as my next trick.

Link to comment
Share on other sites

Hey Bjorn, here's a way to test without any uncertainty on how much the shoulder joint rotates.

Take your shirt off.

Take a red marker, make a nice big dot on the front of your shoulder. Then rotate the arm.

You'll the see the dot doesn't move all that much.

Your bones might be moving more, but the combo of the muscle and skin sliding over the twising joint, has a dampening effect on how much we actually see rotating at the surface.

That's what we(well at least me) should be going after.

So, that translates to the area between the elbow and shoulder absorbing the twist.

that just how I roll:)

Mike Fitz

www.3dartz.com

Link to comment
Share on other sites

It's a thing of Beauty.

It's also why I wish hash would hurry up and supercharge those darn distortion boxes, they would be great for this type of Bone/Skin consideration in joints.

 

Mike Fitz

www.3dartz.com

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...