Joint bone rig that maintains volume

Have you come up with a good Moho trick? Need help solving an animation problem? Come on in.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Joint bone rig that maintains volume

Post by heyvern »

WoooHooo! I found the sweet spot!

http://www.lowrestv.com/anime_studio/bo ... olume.anme
http://www.lowrestv.com/anime_studio/bo ... volume.mov

This is very rough but I wanted to share it so you guys could play around with it. I only discovered this by accident about a half hour ago. I was moving around a constrained bone and noticed something interesting.

Basically the way it works is there are two bones offset away from the center point of the joint. These two bones are children of the top bone of the joint (the bicep or thigh) and constrained a teeny bit to the second bone in the joint (forearm or calf).

The position of these two bones is critical but not hard to find using onion skin. Also the points on either side have to be positioned in a way to prevent the inside of the joint to distorting too much.

This example is very rough.

-vern
User avatar
DK
Posts: 2895
Joined: Mon Aug 09, 2004 6:06 am
Location: Australia

Post by DK »

Wow!!!! Brilliant...I tried playing around with my own setup from your instructions but I can't reproduce the results :(
Maybe this could be a feature for your new tutorial site?

D.K
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I am still working out exactly the best place for the points AND the bones. At the moment the bicep has an "extra" point that bunches up. You want some "expansion" of the volume in the bicep area. The problem is that I need the points to be offset so they keep a sharp joint.


-vern
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Well here's what I've discovered.

I can create a perfect joint that maintains volume and looks "realistic" with just those two extra bones (maybe one more to add bicep bulge).

However, it works in "one direction". This would be for a joint that only bends one way. It looks GREAT! The problem with this is that the point of the elbow in my example above "expands out" away from the joint (because it is symmetrical) which doesn't look "right" and the bicep area at the joint doesn't gain equal volume.

By tweaking the position of the bones making them "non-symmetrical" I can get a perfect joint.

I do have a possible solution in my head (not worked out yet) that would involve something similar to the reversible leg joint I posted recently. Moving/rotating a couple of bones "flips" the position to the opposite side so the joint works on both sides, but involves some extra keys to achieve.

I was thinking an action would solve that but then we're back to where we started with actions applied at specific frames for a good joint... although this wouldn't need to be applied constantly, only when the joint needs to pass through 90 degrees to rotate in the other direction (and only if you really NEED to do that).

I am VERY VERY happy with this solution. It is better than anything else I've come up with, and it completely eliminates that round "loop" at the inside of the joint (even I have problems with that). I don't even need a bunch of extra points around the joint.

-vern
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Here's a sample of the "one direction" joint. The first half of the movie shows the locations of the bones and the points that are bound to them. Had to use binding since the would overlap otherwise.

http://www.lowrestv.com/anime_studio/bo ... olume2.mov
http://www.lowrestv.com/anime_studio/bo ... lume2.anme

-vern
User avatar
slowtiger
Posts: 6246
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

Interesting, but I don't think I can use it. It works until 90°, but at a smaller angle there's the overlapping stroke missing.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

slowtiger wrote:Interesting, but I don't think I can use it. It works until 90°, but at a smaller angle there's the overlapping stroke missing.
I'm working on that! :)

It would work with the "one way" joint example if you peaked the inside point and adjusted the position of the constrained bones so that line would overlap. I don't have a solution yet for a two way joint since you don't want the elbow point "peaked".

-vern
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Okay....

NOW I've got it.

I don't know if this is "perfect" but it's better than the original, works in both directions, is fairly easy to set up and it maintains volume and eliminates the joint overlap "loop" to some degree.

So what is happening is that there is two of those "springy things" that Genete "invented" at the joint. It pushes and pulls the point on either side of the joint to both, create volume and to keep that "line" of the overlapping shapes.

http://www.lowrestv.com/anime_studio/bo ... volume.swf
http://www.lowrestv.com/anime_studio/bo ... olume.anme

I am quite pleased with it and will continue to tweak it.

-vern
chucky
Posts: 4650
Joined: Sun Jan 28, 2007 4:24 am

Post by chucky »

that's cool ,angle control bones, I don't get how they work yet.
I there a control bone manifesto somewhere?
forearm controls forearm, steve?, bob?,all very weird :shock:
User avatar
mkelley
Posts: 1647
Joined: Fri Nov 02, 2007 5:29 pm
Location: Sunny Florida
Contact:

Post by mkelley »

Vern,

I can't get this to work at all -- I've copied your bone rig and I'm fairly sure I have it all exactly the same (same bone weights and constraints).

Now, I did do it with a single shape (unlike your two layers -- but your two layers both deform correctly anyway). My shape even has the exact same vertices and placement.

Now, perhaps I didn't get the bone sizes *exactly* the same, but if it's that critical then I don't see how useful the technique would be. In any case, here it is if you feel like taking the time to look at it:

http://www.kelleytown.com/Shared%20Files/MyBad.zip
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

AHA!

You didn't bind the points!

Simple thing to miss that I completely forgot to mention.

Region and flexible binding won't work with this. You must bind the two points on the outside of the joint to the end bones of each spring.

I also bound the points of the rest of the arm to each appropriate bone. Just click on the vector layer and using the bone tool select the bones to see which points "highlight" or are selected to see which bones control them directly.

As far as the names for the bones.... oops! I was fiddling around with my bone flipper.... oops! How confusing that must be. I was experimenting with the extensions on the names for flipping bones and points for symmetrical characters.

That's updated too if you check my script thread. Works GREAT with this set up because you can FLIP the spring bones. You don't have to create them by hand just copy them using my script.

viewtopic.php?t=7842

-vern
User avatar
mkelley
Posts: 1647
Joined: Fri Nov 02, 2007 5:29 pm
Location: Sunny Florida
Contact:

Post by mkelley »

Well. that still doesn't work on my example bad file -- did you try it?

With the points bound it behaves more or less exactly the same, so I'm not sure why your example works and mine doesn't.

Just in case you still are willing to take a look, here's my example with the points bound as yours are:

http://www.kelleytown.com/Shared%20Files/MyBad2.zip
User avatar
synthsin75
Posts: 10269
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Hey mike, Vern's has angle constraints on those spring bones and your bone parenting is a little different. I was going to fix it, but it looks like those angles will take some fine tuning.

If you bend it on frame one, you can then adjust the angle constraints of the first folding bones (5_steve, 5_bob :lol: ) to force it to where it looks right. :wink:
User avatar
mkelley
Posts: 1647
Joined: Fri Nov 02, 2007 5:29 pm
Location: Sunny Florida
Contact:

Post by mkelley »

Well, I used the same angle constraints Vern used -- you're saying that every setup will need to be adjusted differently? Even though the shapes are almost identical?

If so -- *waaaaayy* too much work. I think I'll just stick with my present methods for forcing volume issues (which is to define actions which adjust the vertices of the limbs -- I just drop in the "fix bent arm" action and all is well).

The other strategy I've found very useful is to adjust the vertices and then copy this back to frame 0. At that time you can move them ever so slightly to get them back in line and this usually holds true. Also changing a vertice to angled versus smooth will often do the trick (particularly inside corner).

In any case, I thought maybe Vern had come across some magic and I'm always willing to explore other solutions. Just ain't the right one for me <bg>.
User avatar
mkelley
Posts: 1647
Joined: Fri Nov 02, 2007 5:29 pm
Location: Sunny Florida
Contact:

Post by mkelley »

Oh -- sorry, I guess in my second file I *didn't* have the angle constraints on (did in the first one).

But no matter -- adding them back in still doesn't do anything. And, like I say, if it's a matter of trying to figure out which angles you need... just too much effort to solve a problem far easier solved with actions.

But I'm glad I tried it -- never want to think there's an easier way I'm overlooking (now I know there isn't <g>)
Post Reply