Using position bone constraint to move eyeballs...

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

Moderators: Víctor Paredes, Belgarath, slowtiger

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

Using position bone constraint to move eyeballs...

Post by heyvern »

I often have 3/4 views of characters. Each eyeball is of course at a different angle and scale.

I would animate each eyeball bone separately which is a pain.

So.. I started using a set of bones for the eyes and the position control constraint.

It is more complex than needed due to the nature of Moho constraints but once set up it works fine. Just hide controlled bones if you don't like the clutter.

In this really quickly and badly done face animation both eyeballs are basically controlled by the position of one bone. The global eyeball bone is used in a few keyframes to tweak position and move both eyes up and down together.

http://www.lowrestv.com/moho_stuff/eye_test.mov

Here's the file:

http://www.lowrestv.com/moho_stuff/eye_test.zip

It has 2 control bones. One moves the eyeballs so they stay lined up inside the eye shapes. Because one eye bone moves in the opposite vertical direction of the other (angled eyes... left to right means a little up and down as well) there is a second global bone for moving both eyeballs up and down.

I kind of like it. It isn't perfect... but good enough for general stuff. of course this eliminates the possiblitly of doing a crosseyed effect.

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

Post by J. Baker »

Nice work! I think it's a great setup. Could be used any many ways, such as look-arounds, eye-rolls and so forth. :wink:
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Dagnabbit...

I think too much.

Apparently I had one more bone than needed.

One eyebone follows the other eyebone at a different percentage to account for scale and angle.

Constraining to a higher bone wasn't needed... I was over thinking the concept.

Although... this might have benefits in another way... have to think about it some more.

Here is the simpler version:

(I didn't zip this one. You should rt click and save file and make sure it has the moho extension and isn't changed to .txt)

http://www.lowrestv.com/moho_stuff/eye_test2.moho

-vern
User avatar
Víctor Paredes
Site Admin
Posts: 5723
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

i don't finish of understand how that works.
i always notice there is a lot of skill that i didn't knew.
is position control constraint in the tutorial?
well, i almost never watch the tutorial, but now i'm looking for, and i don't find it.
i'll try to understand. now i'm going to school.

thanks for sharing it.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I don't think this specific thing is covered in the tutorials.

I am very very familar with Animation:Master. Used it for many years. It has a TON of constraints that work the same way... so I have a bit of an advantage. Moho constraints are so simple compared to AM.

The trick is "trial and error".

I am using negative values on the position constraint so when one eyeball bone goes down a little... the other one goes up a little.

I also use a lower value for the overall left to right motion since one eye is a tad smaller than the other.

Two eyes angled... on opposite sides the eyes slant in opposite directions.

If the character looks to the right...
The right eyeball needs to be in the outer corner and up a bit... the left eyeball needs to be down in the inner corner of the left eye.

So the bones controlling the eyeballs need to move in slightly opposite directions up and down... when moving left to right.

This is all... trial and error with the numbers in the constraint. Each situation will be different. It isn't a follow the steps kind of thing... more of knowing what you need to end up with.

I used this on several characters and they were all different values in the constraint.

-vern
Post Reply