Larry the Liger face rig

Want to share your Moho work? Post it here.

Moderators: Víctor Paredes, Belgarath, slowtiger

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

Larry the Liger face rig

Post by heyvern »

When I started that crazy face rig gizmo ages and ages ago... it was SPECIFICALLY for these Enchanted Forest characters...

... then I got distracted.

Well, I finally got a face rig for Larry. Not all of the bones are "activated". I kind of lost the mane hair controls during the creation of the new rig so I have to put them back in from another file. And I still need to add a few bones for more face turning stuff like ears and facial hair.

The little "bubbles" to the left are markers for the head and jaw bones so I can turn off construction curves.

http://www.lowrestv.com/enchanted_fores ... aw_rig.mov
Image

The tricky part were his teeth. I needed his teeth to be "inside" the mouth except for the fangs... but the fangs need to be hidden when his mouth closes.

This was causing no end of frustration for me.

What I have now is the "lips" or mouth area is split into two layers. A shape for the right side and a shape for the left side. I use z-depth scripted layer ordering to "flip" these layers up and down to allow the fangs and teeth to be over and under the gums as the head turns.

This will also handle the tongue perfectly! the tongue will be able to go in and out of the mouth and still be hidden when the mouth is closed.

The other tricky part was the protruding jaw itself. I have big teeth sticking out. I also need to have "rubbery" expressive lips that are independent of the teeth. For a "human" type character this is simple enough since the teeth in general are "flat" inside the mouth. For this guy it is a bit different.

In my original rig I ended up with HUNDREDS of "compound bones" to control the mouth and lips. Since then I have discovered a lot more cool things I can do with scripting that completely eliminates literally hundreds of bones.

I have code that allows me to apply translation constraints pointing to different bones at the same time by having "layered" sets of parented bones that are controlled by the script.

The basic problem was that a child of a bone doesn't work with a position constraint. Another bone using a child bone as a constraint target won't move if the targets parent moves. The targets translation never changes.

My script ADDS the translation of the parent to a specific bone so now a position constraint will pick up the ABSOLUTE value of a bones position.

By doing this I can have the head turn bone control all the "snout" and teeth bones. A second lower jaw bone ALSO moves the lower teeth but "adds" it to the existing motion.... thus eliminating any need for bunches of multiple controlling bones. I can apply this technique through out eliminating bunches of bones and still maintain control.

The lips are the same way. There are just a few bones to control the lips but now I can not only move them with the head turn but also control them for lip sync or expressions with another bone or bones.

By the way, each tooth is bound to its own bone. Each of these bones has a graduated position constraint to maintain position relative to either the head turn of the jaw opening and closing.

This rig can be used for all of my talking animal characters. Happy Bear has an identical jaw and teeth set up.

Garry the gopher probably won't even need the rig that much since his mouth never really opens when he talks.

-vern
User avatar
J. Baker
Posts: 1086
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

It's looking really great so far. Can't wait to see more. ;)
Genete
Posts: 3483
Joined: Tue Oct 17, 2006 3:27 pm
Location: España / Spain

Post by Genete »

I couldn't resist....
Can you put a copy of the anme file? :roll:
And can you tell us if the script is one of the already published in the forum or is one specifically designed for this kind of setup? On which layer is embedded?
Mind you make a small tutorial with images of videos?
(It is very difficult to understand with words only. )

BTW CONGRATULATIONS! It looks better than the secret agent!
Thanks for your contribution
-G
User avatar
DMacstudios
Posts: 24
Joined: Mon Aug 13, 2007 5:01 pm
Location: Calgary

Not worthy newb envy!

Post by DMacstudios »

Your work is an inspiration and I hope someday to post something here! Keep up the great work!
~If you can keep your head while around you all others are losing theirs, you have not understood the situation~
User avatar
jahnocli
Posts: 3471
Joined: Fri Oct 29, 2004 2:13 pm
Location: UK

Post by jahnocli »

Looks terrific.
You can't have everything. Where would you put it?
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I will post the script and a file when I get a chance.

It is embedded in the head bone layer which is a child layer of the character bone layer. The head layer is bound to the parent head bone.

The script is actually a variation of my "flipper" script. I added a bunch of extra things. I haven't documented it too well yet. I kept adding in new things as I needed them.

I need to fix some spots where I didn't do any checking for specific bones. If the bone doesn't exist ASP crashes. :oops:

The good thing is that I didn't "target" the script to the file. It should do what it does on any file as long as the bones are there.

The big thing I added was a "translate-trans" function. I had the "rotate-trans" and the "trans-scale" etc etc. What wasn't in there was a "translate-trans". This is how I can have more than one bone for a constraint.

I can constrain a parent bone AND move another bone in the chain to "accumulate" constraints... it's ALMOST as good as having multiple bone position constraints. I think if I keep fiddliing with the code I could make it better and less confusing to set up and use less bones. For now it works for my needs.

I will have to do a demo. It's kind of tricky to set up but it works.

I have incorporated a trick from that other head/face simple rig set up thread. Basically just the "reverse" scaling for the opposite sides on a turn.

I don't think I will make the contest deadline like I planned. I only have a couple of weeks left and still a lot of work to do... and still don't have all the dialog recorded yet.

-vern
User avatar
KenW
Posts: 129
Joined: Tue Jul 17, 2007 8:08 pm
Location: Virginia, USA
Contact:

Post by KenW »

Awesome rig!

You have an amazing understanding of how to use AS tools and scripts to compliment your creative vision. Keep up the great work Vern.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I am using a variation of the body rig that Kazerad came up with here:

viewtopic.php?t=8967

I spent so much time on the head that I don't have a very good body rig. The rig Kazerad came up with is brilliant and I have been adapting it to Larry. What's great is Larry has the same type of "body shape"... it was the first thing I thought of when I saw it.

Will demo that as soon as I have something to show.

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

Post by heyvern »

Well...

I've decided to use my own body rig for Larry.

Just the legs so far (simple legs)
http://www.lowrestv.com/moho_stuff/scri ... n_walk.mov

I wrote a new script that is like an "aim at" constraint. It is wonderful for doing walk cycles at any angle.

For those interested the script and sample leg file is located here:

viewtopic.php?t=7842

It doesn't have the turn and walk towards the camera but it is the same file I used for that. I am having a blast once again!

-vern
User avatar
Banterfield
Posts: 138
Joined: Tue Aug 03, 2004 10:40 pm
Location: Colorado

Post by Banterfield »

Well, let me just add my voice to the chorus and say that we NEED a step by step tutorial on doing similar rigs for our characters. This is BEAUTIFUL! The teeth, the whiskers, this is like something from a whole different wonderful program.

I've looked over the various threads addressing these methods for doing head turns, but I'm still a little baffled. ...and I would consider myself a pretty advanced user. So please, pretty please, give us a tutorial that methodically lays out how to set up and use this kind of rig. These techniques really expand the potential of AS.

Congrats again on the wonderful work.

Kind regards,
Dave
Post Reply