Bind both points and layers?

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
synthsin75
Posts: 9964
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Bind both points and layers?

Post by synthsin75 »

I'm sure I've seen it somewhere on the forum, but I can't find it now.
Can you only bind either a layer or its points? Is there any trick to binding the layer to one bone and its points to another bone?
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

No you can't. However... I just created a simple script solution for this. I haven't posted it yet but I can if you are interested.

First off here is why I think Mike made AS work this way. I could be wrong but it's my theory:

When a vector layer is bound to a bone it is "assumed" that you want the WHOLE layer to move with that bone. If you bound a layer to a bone and the points could still be influenced by other bones then.. you could just animate the layer... that function already exists so why add a duplicate feature.

Here is a "problem" (or a feature if you like) of doing this:
If you animate a layer inside a bone layer, the vectors "pass through" the influence of other bones. That is exactly what my layer script does. It just assigns the layer translation to a bone translation. When you move a bone it moves the vector layer. But the other bones still have influence.

Imagine a vector layer inside a bone layer. If you move the vector layer around it moves past all the bones and the points will shift and move based on proximity to each bone. The bones influences different parts of the vector as the layer moves.

-vern
User avatar
synthsin75
Posts: 9964
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

I'm not sure I follow all that. Are you saying you have a script that allows me to translate, rotate , or scale a layer by a bone, and still have points on that layer bound to another bone? If so, I'd be very interested. I've been messing with AS for hours trying to accomplish anything near this.
User avatar
synthsin75
Posts: 9964
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Basically what I'm trying to do is scale some points, and then rotate the scaling bones. (I'm using the scaling as a scale and translate) Obviously this kind of rotation won't interpolate properly. So I've been trying to counter-rotate the layer to compensate. Or scale the layer and counter-rotate the points. Which ever works better.
There may be an easier way to do this. I'm about to try putting the scale bone rotation on a switch layer or something.
User avatar
fiziwig
Posts: 197
Joined: Fri Jan 04, 2008 8:00 am

Post by fiziwig »

If I understand your question correctly you want one bone to control the whole layer, and a second bone to control only certain points in that layer. Is that what you want? If so, I have a solution: nested bone layers.

Here's an example. The large bone is bound to the whole layer, and the small bone (on its own separate bone layer) is bound to certain points in that layer. The effect is cumulative.

In other words, the outer bone layer controls the motion of the inner bone layer, and the inner bone layer controls the motion of the points in the vector layer.

http://fiziwig.com/nested_bones.anme

--gary
User avatar
synthsin75
Posts: 9964
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Thanks Fiziwig. I think that'll do the trick. Now all I need is the 'master control bone' script so that I can control the sublayer bone from my top bone layer.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I understand now what you want to do.

I do have a script that could control the nested bones but it might have problems due to the scaling of the layer.

Depending on how much control you need here is another possible alternate technique that might work for you. This technique doesn't do anything to the layers but creates a "fake" kind of uniform scaling effect on points of a shape.

You create a series of bones all the same size and radiating out from a center point over the points you want to scale uniformly. The bone strength for all of these bones should be exactly the same and cover ALL the points you want to control:

(The image below has "colorized bones" due to my bone group script)

The red bone (1) is the parent bone of the other 3. Rotate and translate that bone rotates them all together. The other 3 bones have a scale constraint to the red bone. Scale the target bone they all scale uniformly.

EDIT: I use this technique for eye balls a lot. I just used it this week for one of my characters.

http://www.lowrestv.com/moho_stuff/foru ... aling.anme
http://www.lowrestv.com/moho_stuff/foru ... caling.mov
Image

-vern
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

You create a series of bones all the same size and radiating out from a center point over the points you want to scale uniformly
Only two perpendicular bones are needed. That's because the bone influence is symmetrical for both sides (origin to tip and origin to -tip although there is no bone there)
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Genete wrote:Only two perpendicular bones are needed. That's because the bone influence is symmetrical for both sides (origin to tip and origin to -tip although there is no bone there)
Now he tells me! ;)

Actually I tried that and I couldn't get symmetrical scaling. It was just a little lopsided. I usually use region binding (unlike my example above I think) so that might be the problem.

Here is a test eye rig I wacked together earlier this week. I use these for testing. Sorry Fiziwig, I used some masking on this one. ;)

http://www.lowrestv.com/moho_stuff/forum/eye-rig3.mov
http://www.lowrestv.com/moho_stuff/forum/eye-rig3.anme

Instructions. Please note that I have since added lids that aren't shown in this image.
Image

-vern
User avatar
synthsin75
Posts: 9964
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Post by synthsin75 »

Thanks. I'll see what I can do with these. I'm needing to do a non-uniform scale in the direction of the iris motion, to forshorten it around the 'curvature' of the eyeball. And I'm really trying to make minimal control points.
User avatar
slowtiger
Posts: 6076
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

Excuse my interruption, but do you think all this hassle is really necessary?

In an average scene the eyeballs are quite small in relation to the whole picture. The only important points are the direction of looks and the way the character blinks.

Even in a close-up there's only that part of an eyeball visible where any perspective distortion is nearly invisible. And you don't use straight side views in average animation - so you'll normally never see the pupil from the side.

Of course I appreciate all your efforts in search for the perfect rig - but I'm doing cartoons, and we make a pretty decent living out of a mere black circle as a pupil for decades now ... *g*
User avatar
toonertime
Posts: 595
Joined: Tue Feb 27, 2007 8:34 am
Location: ST. LOUIS

Post by toonertime »

point well taken!
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

well, all of my characters have very expressive eyes, they also have bone controlled smooth head turns.

This set up "looks" complicated but it isn't "complicated" to use. I didn't add in the "perspective" scaling (I have that in my "sunny" character that used this rig) but with everything set up and in place you can animate the eyes with just a few bones.

In my rigs the eyes move with the head from side to side, up and down with one bone. I can move the eyeballs in unison with... one bone. I can blink the eyes... with one bone. I can lower or raise the point that the lids meet during the blink with one bone. Each aspect can be modified to create the emotion I want for the character.

It is all very fluid and simple to use. To each their own. Obviously you can have very simple eyes with minimal head turns and still produce amazing animations. I won't argue that. But I don't think that should be the standard for everyone. I want that perspective distortion. It looks "funny" to me if it isn't there.

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

Post by slowtiger »

It's just the other end of the scale, I think. In the canadian stop motion film "Madame Tutli Putli" the director wanted so much realism in the eyes that he decided to film an actor on video and compose his eyes onto the puppets. I'm more at the other end of a scale where a character doesn't even have to have eyes to express something.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Synthain75.

I could put together a simple rig with perspective distortion head turn as I described but I am using a custom script. If that doesn't scare you too much let me know. At the moment it is a layer script so you would need the pro version of AS. I think you have that since you were using my flipper script. It is actually that script I am using with some modifications in my head rig

Also since I am using my bone grouping/colorizing tools now I can hide all the bones except for the control bones so the interface is clean. I haven't released that yet since there is still a bug or two I need to iron out. Without that functionality you would probably need to "draw" the bones on another layer and turn off construction curves (that is what I use to do).

-vern
Post Reply